No description
  • Nix 53.2%
  • TypeScript 22.5%
  • Haskell 5.7%
  • Python 5.7%
  • TeX 2.5%
  • Other 10.4%
Find a file
Andrea Ciceri 7466448e5e
All checks were successful
Build flake checks / x86_64-linux/dms-ccusage-plugin (push) Successful in 13s
Build flake checks / x86_64-linux/asciinema-player (push) Successful in 16s
Build flake checks / x86_64-linux/caltrack (push) Successful in 16s
Build flake checks / x86_64-linux/aoc-2025 (push) Successful in 16s
Build flake checks / x86_64-linux/claude-desktop (push) Successful in 17s
Build flake checks / x86_64-linux/blog (push) Successful in 17s
Build flake checks / x86_64-linux/files/.forgejo/workflows/build-checks.yaml (push) Successful in 16s
Build flake checks / x86_64-linux/cv (push) Successful in 22s
Build flake checks / x86_64-linux/agenix-shell-talk (push) Successful in 23s
Build flake checks / x86_64-linux/caltrack-shell (push) Successful in 24s
Build flake checks / x86_64-linux/default-shell (push) Successful in 25s
Build flake checks / x86_64-linux/blog-shell (push) Successful in 26s
Build flake checks / x86_64-linux/foodlog-backend (push) Successful in 9s
Build flake checks / x86_64-linux/foodlog-frontend (push) Successful in 9s
Build flake checks / x86_64-linux/files/.gitignore (push) Successful in 14s
Build flake checks / x86_64-linux/files/packages/_nur.nix (push) Successful in 11s
Build flake checks / x86_64-linux/helix-master (push) Successful in 9s
Build flake checks / x86_64-linux/files/README.md (push) Successful in 13s
Build flake checks / x86_64-linux/aoc-2025-shell (push) Successful in 30s
Build flake checks / x86_64-linux/cv-shell (push) Successful in 29s
Build flake checks / x86_64-linux/mirror-checks (push) Successful in 8s
Build flake checks / x86_64-linux/hyphenopoly (push) Successful in 8s
Build flake checks / x86_64-linux/foodlog-shell (push) Successful in 14s
Build flake checks / x86_64-linux/nixos-tests-talk (push) Successful in 8s
Build flake checks / x86_64-linux/opencode-claude-max-proxy (push) Successful in 7s
Build flake checks / x86_64-linux/reinstall-magisk-on-lineageos (push) Successful in 7s
Sync packages to NUR / sync (push) Successful in 3s
Build flake checks / x86_64-linux/update-packages (push) Successful in 8s
Build flake checks / x86_64-linux/writer (push) Successful in 12s
Build flake checks / x86_64-linux/yt-dlp-master (push) Successful in 12s
Build flake checks / x86_64-linux/treefmt (push) Successful in 16s
Build flake checks / x86_64-linux/pre-commit (push) Successful in 18s
Build flake checks / x86_64-linux/talks-agenix-shell-shell (push) Successful in 17s
Build flake checks / x86_64-linux/talks-nixos-tests-shell (push) Successful in 18s
Build flake checks / x86_64-linux/nixos-devops-talk (push) Successful in 47s
Build flake checks / x86_64-linux/configurations/nixos/picard (push) Successful in 1m13s
Build flake checks / x86_64-linux/configurations/nixos/pike (push) Successful in 2m27s
Build flake checks / x86_64-linux/configurations/nixos/sisko (push) Successful in 6m53s
Build flake checks / call-merge-pr (push) Has been skipped
Build flake checks / mirror-checks (push) Successful in 14s
Correctly power off sisko's display
2026-04-02 10:53:50 +02:00
.forgejo/workflows Migrate sisko to an old Thinkpad X1 Carbon 2026-03-18 11:13:04 +01:00
flake Migrate sisko to an old Thinkpad X1 Carbon 2026-03-18 11:13:04 +01:00
hosts Correctly power off sisko's display 2026-04-02 10:53:50 +02:00
modules Force lan0 as network interface name on sisko 2026-04-02 10:53:50 +02:00
packages Automatically update packages using nix-update-script 2026-04-01 16:01:32 +02:00
projects Fix foodlog data directory permissions 2026-03-27 18:55:00 +01:00
secrets Use agenix for amule passwords 2026-03-20 16:23:45 +01:00
.envrc Scaffolding 2025-09-09 10:38:22 +02:00
.gitattributes Add nixos-for-devops talk 2025-10-13 17:06:48 +02:00
.gitignore Bump hash 2026-03-10 14:50:21 +01:00
flake.lock flake.lock: Update 2026-04-01 17:00:48 +02:00
flake.nix Use https input for arbi 2026-03-18 14:57:42 +01:00
README.md Automatically update packages using nix-update-script 2026-04-01 16:01:32 +02:00

This repository is my comprehensive monorepo containing personal projects and configurations that aren't intended for external contributions, though contributions are always welcome.

It follows the dendritic pattern, meaning each file is a flake-parts module. Also, this README is dynamically generated using a flake-parts module, with its source distributed throughout the repository.

NixOS configurations

As you can notice I'm a big Star Trek fan...

Sisko

My homeserver hosting a wide variety of private and public services. Running on my decommissioned Thinkpad Carbon X1 gen 7

Web services

Public
WireGuard

Pike

My mobile workstation—an Acer Nitro V15 laptop equipped with an i5-13420H CPU, 32GB of DDR5 RAM, and an Nvidia RTX 2050 GPU. Configured to closely mirror my main workstation picard for seamless work when away from home.

Picard

My main workstation—a custom-built powerhouse featuring an AMD Ryzen 9 7900X, 64GB of DDR5 RAM, and blazing-fast NVMe storage.

Projects

NixOS testing framework talk

Talk about the NixOS tests framework for 2025 Milan Linux Day.

Running the Slides

pnpm install  # Install dependencies
pnpm dev      # Start development server

This will start a development server for the presentation slides.

Building

pnpm build                        # Build for production
nix build .#nixos-tests-talk      # Build presentation as a completely self-contained derivation

"NixOS per DevOps" talk

Talk introducing NixOS for DevOps, in italian. Here the recording.

agenix-shell talk

A presentation about agenix-shell for a 5-minute flash talk at NixCon 2025. Here the recording.

Running the Slides

pnpm install  # Install dependencies
pnpm dev      # Start development server

This will start a development server for the presentation slides.

Building

pnpm build                        # Build for production
nix build .#agenix-shell-talk     # Build presentation as a completely self-contained derivation

Foodlog

AI-powered progressive web app for tracking food intake, powered by Claude Agent SDK with MCP tools.

Curriculum Vitae

My CV is built using LaTeX and continuously served at https://cv.aciceri.dev The project is stored under projects/cv.

To build the served derivation, run:

  nix build .#cv

CalTrack

Simple Python tool to extract billable hours from my calendar. In a future it may be extended to directly create invoices.

Blog

My blog is reachable at https://blog.aciceri.dev, the website is continuously deployed. The project is stored under projects/blog.

Development

Enter the project directory and development shell to access Cabal and dependencies.

To build the served derivation, run:

  nix build .#blog

To start a development server with hot reload, run:

  nix run .#blog.watch

NUR packages

This repository also acts as a NUR repository. Note that not all packages in the packages flake output are included in the _nur.nix file.

asciinema-player (version 3.15.1)

A web player for terminal session recordings

dms-ccusage-plugin (version 1.0.0)

DMS plugin showing Claude Code billing block usage

helix-master (version master-daac117bbb4348a496bdf851a9a5c1d9612a2938)

Post-modern modal text editor

hyphenopoly (version 6.1.0)

Hyphenation for node and Polyfill for client-side hyphenation

mirror-checks (version 1.0.0)

Utility to synchronize CI checks from Forgejo to GitHub

opencode-claude-max-proxy (version 1.0.2-unstable-2026-01-30)

Use your Claude Max subscription with OpenCode or any Anthropic API-compatible tool. Translates API requests into Claude Agent SDK calls. Requires claude-code CLI installed and authenticated (claude login).

reinstall-magisk-on-lineageos (version 1ca911e)

Small bash script to reinstall magisk after each LineageOS update

yt-dlp-master (version 2026.03.17-unstable-2026-03-29)

yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc.

youtube-dl is a small, Python-based command-line program to download videos from YouTube.com and a few more sites. youtube-dl is released to the public domain, which means you can modify it, redistribute it or use it however you like.

Autogenerated files

The following files are automatically generated: