No description
  • Nix 56.7%
  • TypeScript 20.7%
  • Python 5.3%
  • Haskell 4.6%
  • Emacs Lisp 4.1%
  • Other 8.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Andrea Ciceri 62da698f59
Some checks failed
Build flake checks / x86_64-linux/agenix-shell-talk (push) Successful in 21s
Build flake checks / x86_64-linux/caltrack (push) Successful in 21s
Build flake checks / x86_64-linux/caltrack-shell (push) Successful in 28s
Build flake checks / x86_64-linux/catppuccin-gitea (push) Successful in 15s
Build flake checks / x86_64-linux/blog-shell (push) Successful in 1m14s
Build flake checks / x86_64-linux/aoc-2025 (push) Successful in 2m22s
Build flake checks / x86_64-linux/asciinema-player (push) Successful in 2m54s
Build flake checks / x86_64-linux/blog (push) Successful in 3m14s
Build flake checks / x86_64-linux/default-shell (push) Successful in 20s
Build flake checks / x86_64-linux/dms-ccusage-plugin (push) Successful in 12s
Build flake checks / x86_64-linux/claude-desktop (push) Successful in 3m40s
Build flake checks / x86_64-linux/emacs-hel-collection (push) Failing after 1m11s
Build flake checks / x86_64-linux/cv-shell (push) Successful in 2m33s
Build flake checks / x86_64-linux/cv (push) Successful in 3m10s
Build flake checks / x86_64-linux/emacs-hel (push) Failing after 1m46s
Build flake checks / x86_64-linux/emacs-hel-ghostel (push) Failing after 54s
Build flake checks / x86_64-linux/emacs-mcp-server (push) Failing after 49s
Build flake checks / x86_64-linux/configurations/nixos/pike (push) Failing after 6m8s
Build flake checks / x86_64-linux/emacs-niri-awareness (push) Failing after 39s
Build flake checks / x86_64-linux/emacs-hel-org (push) Failing after 1m21s
Build flake checks / x86_64-linux/emacs-hel-leader (push) Failing after 1m51s
Build flake checks / x86_64-linux/emacs-terraform-ts-mode (push) Failing after 52s
Build flake checks / x86_64-linux/files/.forgejo/workflows/build-checks.yaml (push) Successful in 38s
Build flake checks / x86_64-linux/files/.gitignore (push) Successful in 36s
Build flake checks / x86_64-linux/files/packages/_nur.nix (push) Successful in 31s
Build flake checks / x86_64-linux/files/README.md (push) Successful in 35s
Build flake checks / x86_64-linux/hass-garmin-connect (push) Successful in 35s
Build flake checks / x86_64-linux/foodlog-shell (push) Successful in 59s
Build flake checks / x86_64-linux/helix-master (push) Failing after 27s
Build flake checks / x86_64-linux/aoc-2025-shell (push) Failing after 9m23s
Build flake checks / x86_64-linux/configurations/nixos/picard (push) Failing after 8m52s
Build flake checks / x86_64-linux/configurations/nixos/sisko (push) Failing after 8m9s
Build flake checks / x86_64-linux/hyphenopoly (push) Failing after 0s
Build flake checks / x86_64-linux/foodlog-frontend (push) Failing after 1m47s
Build flake checks / x86_64-linux/foodlog-backend (push) Failing after 1m51s
Build flake checks / x86_64-linux/emacs-vertico-buffer-frame (push) Failing after 2m35s
Build flake checks / x86_64-linux/nixos-tests-talk (push) Failing after 0s
Build flake checks / x86_64-linux/nixos-devops-talk (push) Failing after 0s
Build flake checks / x86_64-linux/mirror-checks (push) Failing after 0s
Build flake checks / x86_64-linux/omp-collab-relay (push) Failing after 0s
Build flake checks / x86_64-linux/pre-commit (push) Failing after 0s
Build flake checks / x86_64-linux/omp-collab-dashboard (push) Failing after 0s
Build flake checks / x86_64-linux/hass-pun-sensor (push) Failing after 1m1s
Build flake checks / x86_64-linux/update-packages (push) Successful in 13s
Build flake checks / x86_64-linux/writer (push) Successful in 13s
Build flake checks / x86_64-linux/talks-nixos-tests-shell (push) Successful in 16s
Sync packages to NUR / sync (push) Successful in 6s
Build flake checks / x86_64-linux/talks-agenix-shell-shell (push) Successful in 17s
Build flake checks / x86_64-linux/treefmt (push) Successful in 17s
Build flake checks / x86_64-linux/reinstall-magisk-on-lineageos (push) Failing after 37s
Build flake checks / x86_64-linux/yt-dlp-master (push) Successful in 35s
Build flake checks / call-merge-pr (push) Has been skipped
Build flake checks / mirror-checks (push) Failing after 1m38s
Update flake inputs
Drop services.home-assistant.openFirewall on sisko: nixpkgs removed the
option (the frontend port is no longer knowable at eval time). The HA
port stays reachable via the explicit wg0 firewall rule and the nginx
proxy on 127.0.0.1, so no global opening is needed.
2026-08-17 18:02:43 +02:00
.forgejo/workflows Package omp collab relay and dashboard, serve them from sisko and pike 2026-08-12 17:36:06 +02:00
flake Fix projects and misc modules for updated nixpkgs 2026-08-06 10:13:47 +02:00
hosts Cap ZFS ARC and defer store optimise to avoid build thrash 2026-08-17 16:18:59 +02:00
modules Update flake inputs 2026-08-17 18:02:43 +02:00
packages Update packages using nix-update-script 2026-08-17 18:02:24 +02:00
projects Fix evaluation warnings across hosts 2026-08-06 14:53:56 +02:00
secrets Stop dhcpcd clobbering WireGuard on resume and drop unused MLabs profile 2026-08-12 15:34:49 +02: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 Regenerate README, gitignore and CI workflow 2026-08-06 10:13:48 +02:00
flake.lock Update flake inputs 2026-08-17 18:02:43 +02:00
flake.nix Add nix-darwin support, making base modules multi-platform 2026-08-06 10:13:43 +02:00
README.md Update packages using nix-update-script 2026-08-17 18:02:24 +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.

Kirk

A NixOS desktop VM (aarch64-linux) running on Archer via QEMU with GPU acceleration (virgl over Metal).

nix-darwin configurations

Archer

My MacBook Pro (Apple Silicon, aarch64-darwin), managed via nix-darwin.

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.

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.17.0)

A web player for terminal session recordings

catppuccin-gitea (version 1.0.2)

Soothing pastel theme for Gitea and Forgejo

dms-ccusage-plugin (version 1.0.0)

DMS plugin showing Claude Code billing block usage

ds4 (version 0-unstable-2026-08-09)

DwarfStar: DeepSeek V4 Flash and PRO local inference engine (Metal build)

emacs-hel (version new_undo_system-unstable-2026-08-16)

Helix emulation layer for Emacs

emacs-hel-collection (version 0-unstable-2026-08-07)

Collection of Hel keybindings for built-in and third-party Emacs packages

emacs-hel-ghostel (version 0.3.0-unstable-2026-07-09)

Hel integration for the Ghostel terminal emulator

emacs-hel-leader (version 2.1-unstable-2026-07-09)

Leader key for Hel, the Emacs Helix emulation layer

emacs-hel-org (version 0-unstable-2026-07-09)

Hel integration with Org mode

emacs-mcp-server (version 0.7.0-unstable-2026-05-04)

Pure Elisp MCP server exposing Emacs to LLM agents

emacs-niri-awareness (version 0-unstable-2026-07-31)

Emacs IPC client for the niri Wayland compositor

emacs-terraform-ts-mode (version 0.6-unstable-2026-05-31)

Terraform major mode for Emacs using tree-sitter and eglot

emacs-vertico-buffer-frame (version 0-unstable-2026-06-12)

Child-frame display for Vertico completions

hass-garmin-connect (version 3.0.15-unstable-2026-08-11)

Home Assistant integration exposing and uploading Garmin Connect data

hass-pun-sensor (version 4.0.1-unstable-2026-04-18)

Home Assistant integration exposing the Italian PUN electricity prices

helix-master (version master-079a789e8cb08ead67f19e1971a1b7438b37354b)

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

omp-collab-dashboard (version 1.0.0)

Dashboard listing active omp collab sessions

omp-collab-relay (version 1.0.0)

Self-hosted relay for omp collab E2E-encrypted session sharing

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

Small bash script to reinstall magisk after each LineageOS update

yt-dlp-master (version 2026.07.04-unstable-2026-08-17)

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: