Compare commits
4 Commits
b4de2c54ba
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
08429a1a2f
|
|||
|
05556100ec
|
|||
|
b9e6980ba7
|
|||
|
221bbadc31
|
33
.github/workflows/actions-check.yaml
vendored
33
.github/workflows/actions-check.yaml
vendored
@@ -1,33 +0,0 @@
|
||||
name: Check actions
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- .github/workflows/*.yaml
|
||||
- .github/workflows/*.yml
|
||||
pull_request:
|
||||
paths:
|
||||
- .github/workflows/*.yaml
|
||||
- .github/workflows/*.yml
|
||||
|
||||
jobs:
|
||||
check-actions-actionlint:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:runner-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '1.23'
|
||||
- run: |
|
||||
go install github.com/rhysd/actionlint/cmd/actionlint@latest
|
||||
actionlint .github/workflows/*.yaml
|
||||
check-actions-yamllint:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:runner-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v5
|
||||
- run: |
|
||||
pipx run yamllint .github/workflows/*.yaml
|
||||
14
.github/workflows/flake-check.yaml
vendored
14
.github/workflows/flake-check.yaml
vendored
@@ -1,14 +0,0 @@
|
||||
name: Run nix flake check
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
flake-check:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:runner-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: cachix/install-nix-action@v27
|
||||
- run: nix flake check
|
||||
36
.github/workflows/flake-update.yaml
vendored
36
.github/workflows/flake-update.yaml
vendored
@@ -1,36 +0,0 @@
|
||||
---
|
||||
name: Periodic flake update
|
||||
on: # yamllint disable-line rule:truthy
|
||||
schedule:
|
||||
- cron: "0 */2 * * *"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
flake-update:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:runner-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: master
|
||||
- uses: cachix/install-nix-action@v27
|
||||
- name: configure git
|
||||
env:
|
||||
SSH_PRIVKEY: ${{ secrets.BOT_SSH_PRIVKEY }}
|
||||
SSH_PUBKEY: ${{ secrets.BOT_SSH_PUBKEY }}
|
||||
run: |
|
||||
echo "$SSH_PRIVKEY" > "$RUNNER_TEMP/id_ed25519"
|
||||
echo "$SSH_PUBKEY" > "$RUNNER_TEMP/id_ed25519.pub"
|
||||
chmod -R 0600 "$RUNNER_TEMP/id_ed25519.pub" "$RUNNER_TEMP/id_ed25519"
|
||||
git config --global user.name 'torjus-bot'
|
||||
git config --global user.email 'torjus-bot@git.t-juice.club'
|
||||
git config --global user.signingKey "$RUNNER_TEMP/id_ed25519.pub"
|
||||
git config --global gpg.format ssh
|
||||
git config --global commit.gpgsign true
|
||||
- name: flake update
|
||||
run: nix flake update --commit-lock-file
|
||||
- name: push
|
||||
run: git push
|
||||
@@ -2,28 +2,28 @@
|
||||
"mcpServers": {
|
||||
"nixpkgs-options": {
|
||||
"command": "nix",
|
||||
"args": ["run", "git+https://git.t-juice.club/torjus/labmcp#nixpkgs-search", "--", "options", "serve"],
|
||||
"args": ["run", "git+https://code.t-juice.club/torjus/labmcp#nixpkgs-search", "--", "options", "serve"],
|
||||
"env": {
|
||||
"NIXPKGS_SEARCH_DATABASE": "sqlite:///run/user/1000/labmcp/nixpkgs-search.db"
|
||||
}
|
||||
},
|
||||
"nixpkgs-packages": {
|
||||
"command": "nix",
|
||||
"args": ["run", "git+https://git.t-juice.club/torjus/labmcp#nixpkgs-search", "--", "packages", "serve"],
|
||||
"args": ["run", "git+https://code.t-juice.club/torjus/labmcp#nixpkgs-search", "--", "packages", "serve"],
|
||||
"env": {
|
||||
"NIXPKGS_SEARCH_DATABASE": "sqlite:///run/user/1000/labmcp/nixpkgs-search.db"
|
||||
}
|
||||
},
|
||||
"hm-options": {
|
||||
"command": "nix",
|
||||
"args": ["run", "git+https://git.t-juice.club/torjus/labmcp#hm-options", "--", "serve"],
|
||||
"args": ["run", "git+https://code.t-juice.club/torjus/labmcp#hm-options", "--", "serve"],
|
||||
"env": {
|
||||
"HM_OPTIONS_DATABASE": "sqlite:///run/user/1000/labmcp/hm-options.db"
|
||||
}
|
||||
},
|
||||
"git-explorer": {
|
||||
"command": "nix",
|
||||
"args": ["run", "git+https://git.t-juice.club/torjus/labmcp#git-explorer", "--", "serve"],
|
||||
"args": ["run", "git+https://code.t-juice.club/torjus/labmcp#git-explorer", "--", "serve"],
|
||||
"env": {
|
||||
"GIT_REPO_PATH": "/home/torjus/git/nixos-servers"
|
||||
}
|
||||
|
||||
@@ -23,3 +23,4 @@ creation_rules:
|
||||
- age:
|
||||
- *admin_torjus
|
||||
- *server_magicman
|
||||
- *server_gunter
|
||||
|
||||
60
flake.lock
generated
60
flake.lock
generated
@@ -25,18 +25,18 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728602333,
|
||||
"narHash": "sha256-sKbnng/g4ijuKcjShBi7oPxyUrCnMJDDy17U9W/TuMg=",
|
||||
"lastModified": 1773164481,
|
||||
"narHash": "sha256-pAHExVIUqQdnaKniNTdlxheQ/IOU3nTeEV/DRrCc8wg=",
|
||||
"ref": "master",
|
||||
"rev": "84fcfdde62de9888d3af8bcb0d7134137b276b55",
|
||||
"revCount": 23,
|
||||
"rev": "bb7f415c08d6189514dce8c43d69eea6372f0528",
|
||||
"revCount": 24,
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/ghettoptt"
|
||||
"url": "https://code.t-juice.club/torjus/ghettoptt"
|
||||
},
|
||||
"original": {
|
||||
"ref": "master",
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/ghettoptt"
|
||||
"url": "https://code.t-juice.club/torjus/ghettoptt"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
@@ -69,18 +69,18 @@
|
||||
"uv2nix": "uv2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1757974387,
|
||||
"narHash": "sha256-vVFZTB3NxJCH91aaAtop3MEZcilPQ273epV1gcnQE4s=",
|
||||
"lastModified": 1773164725,
|
||||
"narHash": "sha256-FNW+hOB6NCEpZt73FPiafLBPfwnSdTJeaGNCN3r+zEQ=",
|
||||
"ref": "master",
|
||||
"rev": "b341e613337b87cef7a0f4ea05d677288cafa3fb",
|
||||
"revCount": 33,
|
||||
"rev": "e5226d3e32180eb59edae6c29053854dda82750c",
|
||||
"revCount": 34,
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/huecli"
|
||||
"url": "https://code.t-juice.club/torjus/huecli"
|
||||
},
|
||||
"original": {
|
||||
"ref": "master",
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/huecli"
|
||||
"url": "https://code.t-juice.club/torjus/huecli"
|
||||
}
|
||||
},
|
||||
"natstonotify": {
|
||||
@@ -90,18 +90,18 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739302828,
|
||||
"narHash": "sha256-D6l5tAh1FDpdz9/tQC7kYhFPQzqI1HICwNh7fRejfrw=",
|
||||
"lastModified": 1773164311,
|
||||
"narHash": "sha256-HRR4TBCGp5okWW2eV6vUTYAhUR7I+MNADtlOaIe8fec=",
|
||||
"ref": "master",
|
||||
"rev": "bfcf518fe0b2fe19075667f7b22227376d102509",
|
||||
"revCount": 7,
|
||||
"rev": "7e784076242f4bbcf63a35c14ea752bf7a285d8a",
|
||||
"revCount": 8,
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/natstonotify"
|
||||
"url": "https://code.t-juice.club/torjus/natstonotify"
|
||||
},
|
||||
"original": {
|
||||
"ref": "master",
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/natstonotify"
|
||||
"url": "https://code.t-juice.club/torjus/natstonotify"
|
||||
}
|
||||
},
|
||||
"nix-packages": {
|
||||
@@ -111,18 +111,18 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1757017925,
|
||||
"narHash": "sha256-QC1SkvyU5nQ32lju2GYK9ozuh/JYWXfWK/T7OC6dVls=",
|
||||
"lastModified": 1773106737,
|
||||
"narHash": "sha256-/XL6Dn+SehMGlXvuKubNMcTk4iq2J75Z5cVO+HkIfDY=",
|
||||
"ref": "master",
|
||||
"rev": "7723cb45020e1f561f527779540faa5901d34e4d",
|
||||
"revCount": 31,
|
||||
"rev": "295b0bf12ec1849564bdaa8fc2cd0f19af1a2715",
|
||||
"revCount": 47,
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/nix-packages"
|
||||
"url": "https://code.t-juice.club/torjus/nix-packages"
|
||||
},
|
||||
"original": {
|
||||
"ref": "master",
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/nix-packages"
|
||||
"url": "https://code.t-juice.club/torjus/nix-packages"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
@@ -183,18 +183,18 @@
|
||||
"uv2nix": "uv2nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767871861,
|
||||
"narHash": "sha256-Oh0Y9bTvvMm3JQH/C/8XLCeemgvMDbIgFh1NSYFyINY=",
|
||||
"lastModified": 1773164966,
|
||||
"narHash": "sha256-uwkLjHH6BmNzcF791y9ceUcfZtRu/v0+61d4/TbGLxY=",
|
||||
"ref": "master",
|
||||
"rev": "b4e3e6de659bf8c96b84dd47249c71b357dd50c2",
|
||||
"revCount": 62,
|
||||
"rev": "61c04a87f944cfc93b9f3f2904991c41664e28c5",
|
||||
"revCount": 63,
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/nixprstatus"
|
||||
"url": "https://code.t-juice.club/torjus/nixprstatus"
|
||||
},
|
||||
"original": {
|
||||
"ref": "master",
|
||||
"type": "git",
|
||||
"url": "https://git.t-juice.club/torjus/nixprstatus"
|
||||
"url": "https://code.t-juice.club/torjus/nixprstatus"
|
||||
}
|
||||
},
|
||||
"pyproject-build-systems": {
|
||||
|
||||
10
flake.nix
10
flake.nix
@@ -13,23 +13,23 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
ghettoptt = {
|
||||
url = "git+https://git.t-juice.club/torjus/ghettoptt?ref=master";
|
||||
url = "git+https://code.t-juice.club/torjus/ghettoptt?ref=master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
huecli = {
|
||||
url = "git+https://git.t-juice.club/torjus/huecli?ref=master";
|
||||
url = "git+https://code.t-juice.club/torjus/huecli?ref=master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-packages = {
|
||||
url = "git+https://git.t-juice.club/torjus/nix-packages?ref=master";
|
||||
url = "git+https://code.t-juice.club/torjus/nix-packages?ref=master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixprstatus = {
|
||||
url = "git+https://git.t-juice.club/torjus/nixprstatus?ref=master";
|
||||
url = "git+https://code.t-juice.club/torjus/nixprstatus?ref=master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
natstonotify = {
|
||||
url = "git+https://git.t-juice.club/torjus/natstonotify?ref=master";
|
||||
url = "git+https://code.t-juice.club/torjus/natstonotify?ref=master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
catppuccin = {
|
||||
|
||||
@@ -98,6 +98,7 @@ in
|
||||
rust-analyzer
|
||||
|
||||
# Homemade shit
|
||||
forgejo-mcp
|
||||
ghettoptt
|
||||
huecli
|
||||
nixprstatus
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, config, ... }:
|
||||
let
|
||||
forgejo-mcp-wrapper = pkgs.writeShellScript "forgejo-mcp-wrapper" ''
|
||||
export FORGEJO_ACCESS_TOKEN="$(cat ${config.sops.secrets.forgejo_access_token.path})"
|
||||
exec forgejo-mcp --transport stdio --url https://code.t-juice.club
|
||||
'';
|
||||
in
|
||||
{
|
||||
sops.secrets."forgejo_access_token" = { };
|
||||
|
||||
programs.claude-code = {
|
||||
enable = true;
|
||||
package = pkgs.claude-code-bin;
|
||||
@@ -13,6 +21,13 @@
|
||||
pr = ./skills/pr;
|
||||
};
|
||||
|
||||
mcpServers = {
|
||||
forgejo = {
|
||||
type = "stdio";
|
||||
command = "${forgejo-mcp-wrapper}";
|
||||
};
|
||||
};
|
||||
|
||||
settings = {
|
||||
model = "opus";
|
||||
enabledPlugins = {
|
||||
@@ -41,8 +56,6 @@
|
||||
"Read(**/*.tfvars)"
|
||||
"Read(.env)"
|
||||
"Read(**/.env)"
|
||||
"Read(./secrets/**)"
|
||||
"Read(.sops.yaml)"
|
||||
"Read(~/.ssh/*)"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -4,32 +4,37 @@ sonarr_base_url: ENC[AES256_GCM,data:0HiHIX4KcPEE62Ti1fLH230rC1A7xYg=,iv:mkAnl6t
|
||||
radarr_api_key: ENC[AES256_GCM,data:Db1ISKTF+m2H1on55/4vdGticfqBdxfIzKHBxC9LAx4=,iv:NhiG4SmsRYIunW1ljFbxeHvRoi9fOVE+9DJn6kmZ6oI=,tag:DoJzo56CW3kJlySYmB8NYQ==,type:str]
|
||||
radarr_base_url: ENC[AES256_GCM,data:3UgOPQMblYhm0ysRB6VVosvZToIM5IA=,iv:o/s0bVBrjrma2Df2LlCCFL5Ks80063/4mABc6vzDrYg=,tag:eHKntLPM9yRRkMfIWSpIdg==,type:str]
|
||||
nats_nkey: ENC[AES256_GCM,data:TcIDFkFXB1+qfTqLylDI46w4/+Cy9XdXyXS26qCbwDaDoQNaRUsC6dw94mbT37352IWOCypTY0hweA==,iv:DC5GQyIXbNSx/mOLAOWTf5AyeFeViLxbKTMgZEfTEXE=,tag:krxk/dnZ58a8dcuWb7zhnA==,type:str]
|
||||
forgejo_access_token: ENC[AES256_GCM,data:5+AXgz03G9AEqhHlX87qdV8o1J2f/v/o59QPe5R8N06A7n4rt1A5eQ==,iv:ns/3F7+yr+bA4cqj6ghNLYyEuT+w+D+ILrKqMGbNQN4=,tag:rYI/497XuYkRmeLjxWaCIg==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1lznyk4ee7e7x8n92cq2n87kz9920473ks5u9jlhd3dczfzq4wamqept56u
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnaUlVOWtoRTFvMHljV0Fu
|
||||
TFp2Ym1jcThqbWRjUjdNSnhxRUsrOWl6S3dBCmh0L0YzaXNlRTFHMXFHTGc1T3I2
|
||||
WE03WjJCSlJSV2lmSExTWDBQRnlOcDAKLS0tIFJoeEM5b0IrdWxTRWhvNnd0c3NG
|
||||
dENGdjJteFFaQTNFaDgvSGV2UEtyT0EKbdg4atS91rB99l7zKKkfPzKk4T5Mq2x5
|
||||
bX825DPrxauAhvrT7ca/A2OwA4kaFuxPrQGd3VOPAXTVhlbcFgIAdw==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjUzQ0Q3dyZzVUMTJUUFhV
|
||||
djg5WVNqNVRjeEsxM2lvOGZ4U25OR0VjNFNJCk11bTdVMzdsVyswQWc3enpwWVEz
|
||||
bC9GbHV2dnhCTm44RWNNZzNXcjE5MDgKLS0tIHJRZmUwMDU2Si8waWVYS29BZFFJ
|
||||
VDlubEtVOEJabTNWRFVHQ2hiNXJPUTQKdmBIlI4JvAssYHeRzbjp7CbPDsDX1JZ5
|
||||
TIw79h28sArmRkP5fDlM0D1rALLlbTBsn3KA2D3RZgsUcelFlckIJg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1stlqqspmt5fepyz35udrwr5avf9zuju79f787p26pu2d2j08yqps2q2t2c
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvSEZJWldRcmJ3c1BjbUpT
|
||||
bmZXSmlHU0hVRTV3SG91bXpiTXhZd1RkY0Y4ClBxc0RabWJmMi8reHZYWnlmK3pC
|
||||
bUw5V2FEV0pZdkZEMTJ5ZDZXWDM2NjgKLS0tIGZ6dEZ4dERYQXFRQTVkRHhycndz
|
||||
dkgwQlRrdEp6b2FIVnowaDlUMEZpeHcK2icvVv+UpbcdVErRjjQhlQb6PuluC/K7
|
||||
Vy8Rh7dTn++bSEdGidDNGYeUQBrVy2qooq04lQqbeOOrdmXVhTamdA==
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3VkpsWTF6cmlIdEROSmcw
|
||||
UTE1MzUwZlEwZGoyTUM0M2dQRlF1NExYTFNrCkFBNFFIZ1AyNTlRR2NZaXB3Y1Vj
|
||||
Wk9xVmVoM1MweERpUWh1R0FDeFdWT1UKLS0tIHJOQWRZY3NHWmpEL1djY3lnTTZB
|
||||
S2xsR3NESklzNEN5U3RUTElmbnQzSWcKaDJnCgQUjpz6gAVtWJPKykfuflQOyMLq
|
||||
cmb5ZfKhvrgthByGtS1nN4dhwA8ndUJ31UqiU0xWDdak59ehczoquQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-02-11T19:22:47Z"
|
||||
mac: ENC[AES256_GCM,data:vd8O5y1GNDTDrlundbNZcGRAQzKLDly4qyxTqRO2JrnDYOqD/vQ8TqRQYiUgGY+5AcgjoLMER8keE8OUmcngN16cbGx1zKTpdqyHb7B2KR7ZfWOjW5kTk5KWM1gLDA4hA2GBEjHFBPGKdcrjURek9MrT+iM+qArbizSjWlKuehc=,iv:cicEnvWynZizJqrUzPIzbJWl6O8uL65Vs7fAYsuqSNA=,tag:l5jBXQfFedVE/VccZh+1qQ==,type:str]
|
||||
pgp: []
|
||||
- recipient: age1whxf34vjdndqzwgm7yyaexdm46gdnv9sf3nal7qqyjr0nyhhndlsrmc0g3
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRU2R0cU1JcGFRRkV2SE1E
|
||||
RFBRWkdESTcveGsvMStZR0Q3bWo3L0FQcENzCjdsOEpCNGk2NjdPMXVUWnhFS3NE
|
||||
WlR0bWxZTGdnakplS0M3S3F0Nm9hQ00KLS0tIFR3amxPWEhiWDZQU2xjUGRHb0xS
|
||||
U2V0bjZ2TUVmS2F3S1dTSnBYTmZsMG8KJTT0r6PYJ/g/J0E/CxyxRfUhtq8KMEJi
|
||||
w5WrsdHrEkukY0OGRG1i8ZeDDV5mR2KejjKoGWQU6cLYa/v+XHevhg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-03-10T01:57:15Z"
|
||||
mac: ENC[AES256_GCM,data:BK1vTAg7I16ztjqlkeXk7fMLGd7cvIzxogVufsRGamA5PpZgZ8PmvFcQH5JSLbEl/cAKPRD5jr9X1fx9Yr4uAwnVBPpkfu4LUb1fOihWgq7W4YqrTLKB2KGJZaTIP/I800bHHqEsyUcgo2DZ4gEDP2X84tR81xGhwkpGyeH0nlY=,iv:9Sj12aEHkYTrkoZ33SxiHhpDiZrXmPKN6972B+NV14Y=,tag:qDZvGgEpELktFRPuL2J98g==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
version: 3.12.1
|
||||
|
||||
Reference in New Issue
Block a user