Add hackage-publish.nix, to be tested

This commit is contained in:
Sridhar Ratnakumar 2025-08-28 05:31:50 +05:30
parent 347c39e9e6
commit ddd5ef7329
8 changed files with 131 additions and 13 deletions

View file

@ -1,4 +1,4 @@
{ pkgs, config, ... }:
{ pkgs, ... }:
{
programs.tmux = {
enable = true;

View file

@ -0,0 +1,22 @@
---
name: ci
description: Run local CI using omnix
---
This command runs local continuous integration checks using omnix.
**IMPORTANT**: `om ci` will run full CI, thus takes a lot of time. Use only when necessary.
Steps:
1. Run `om ci` to execute all CI checks locally
This will:
- Build all flake outputs, which includes:
- Run tests
- Check formatting
- Validate flake structure
- Perform other CI validations
Prerequisites:
- Must be in a flake-enabled project directory
- omnix (`om`) must be available in the environment

View file

@ -8,8 +8,21 @@ let
(builtins.readFile (subagentsDir + "/${fileName}"))
)
(builtins.readDir subagentsDir);
commandsDir = ./commands;
commands = lib.mapAttrs'
(fileName: _:
lib.nameValuePair
(lib.removeSuffix ".md" fileName)
(builtins.readFile (commandsDir + "/${fileName}"))
)
(builtins.readDir commandsDir);
in
{
home.packages = [
pkgs.cat-agenix-secret # Used by hackage-publish script
pkgs.hackage-publish # Haskell package publishing script
];
programs.claude-code = {
enable = true;
@ -20,21 +33,13 @@ in
# Basic settings for Claude Code
settings = {
theme = "dark";
# enableAllProjectMcpServers = true;
permissions = {
defaultMode = "plan";
additionalDirectories = [ ];
};
};
# Custom commands can be added here
commands = {
"om-ci" = ''
#!/bin/bash
# Run local CI (Nix)
om ci
'';
};
# Automatically discovered commands from commands/ directory
commands = commands;
# Automatically discovered agents from subagents/ directory
agents = agents;