{"id":17478144,"url":"https://github.com/jpetrucciani/nix","last_synced_at":"2025-09-13T01:10:03.608Z","repository":{"id":36979926,"uuid":"314340903","full_name":"jpetrucciani/nix","owner":"jpetrucciani","description":"❄️ my nix modules, overlays, host configurations, and more!","archived":false,"fork":false,"pushed_at":"2025-09-11T00:08:57.000Z","size":5703,"stargazers_count":86,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-11T04:00:56.575Z","etag":null,"topics":["dotfiles","hex","nix","nixos","pog"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jpetrucciani.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-19T18:49:41.000Z","updated_at":"2025-09-10T00:19:00.000Z","dependencies_parsed_at":"2024-01-22T19:39:43.080Z","dependency_job_id":"89edf6bc-fb5f-4f60-9dec-2ec12de2fdc4","html_url":"https://github.com/jpetrucciani/nix","commit_stats":{"total_commits":5173,"total_committers":10,"mean_commits":517.3,"dds":0.379663638121013,"last_synced_commit":"fcda23a5e48fdd2bb29ba1f009d142b2efcf4e2e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jpetrucciani/nix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpetrucciani%2Fnix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpetrucciani%2Fnix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpetrucciani%2Fnix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpetrucciani%2Fnix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpetrucciani","download_url":"https://codeload.github.com/jpetrucciani/nix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpetrucciani%2Fnix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274903558,"owners_count":25371175,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotfiles","hex","nix","nixos","pog"],"created_at":"2024-10-18T20:11:27.201Z","updated_at":"2025-09-13T01:10:03.541Z","avatar_url":"https://github.com/jpetrucciani.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jpetrucciani/nix\n\n[![uses nix](https://img.shields.io/badge/uses-nix-%237EBAE4)](https://nixos.org/)\n\n_jacobi's nixpkgs configurations, overlays, documentation, and other magic_\n\n## interesting stuff\n\n### [pog](https://pog.gemologic.dev/)\n\n_note: this has moved to it's [own repo!](https://github.com/jpetrucciani/pog)_\n\nThis set of nix functions has proven to be extremely useful to me - it is a quick CLI tool generator that leverages the power of nix!\n\n[See many examples of how it can be used here!](./mods/pog/) Some fun files/examples to look at:\n\n- [aws - lots of goodies for simplifying interacting with AWS. check out the `ec2_spot_interrupt`!](./mods/pog/aws.nix)\n- [dtools - docker wrapper cli tools that make it easier to interact with docker](./mods/pog/docker.nix)\n- [ffmpeg - tired of trying to remember that arcane ffmpeg invocation? wrap it in pog!](./mods/pog/ffmpeg.nix)\n- [ktools - kubectl wrapper cli tools that make it easier to interact with clusters and their resources](./mods/pog/k8s.nix)\n\n### [hex](https://hex.gemologic.dev/)\n\n_note: this has moved to it's [own repo!](https://github.com/jpetrucciani/hex)_\n\nHex is a nix module system that allows us to create powerful abstractions of other languages and configurations via nix! At the moment, this is the most useful for things like [kubernetes specs](https://kubernetes.io/docs/concepts/overview/working-with-objects/)!\n\nCheck out [the hex repo](https://github.com/jpetrucciani/hex) for more context on what this can do, and how to use it!\n\n### [pkgs](./pkgs/)\n\nThis directory contains custom top level packages that I maintain. These will resemble packages that are stored in nixpkgs directly, and are exposed at the top level of `pkgs` inside my flake/module.\n\n### [python packages](./mods/python/)\n\nI maintain a large number of nix python packages that are available as overlays from this repo!\n\n### [zaddy](./mods/pkgs/zaddy.nix)\n\nThis is a custom build system for the [caddy](https://caddyserver.com/) web server that supports including caddy plugins as part of nix derivations! You can build your own (check out the examples in that module), or use one of my presets `zaddy` (caddy with [caddy-security](sha256-ww1mWXRKD53S8ytFbyKGn7vXZ5rJjvjOFQpdeDWJz4c=), an s3 proxy, geoip blocking, some of my own plugins, etc.) and `zaddy-browser` (just caddy-security and s3 plugins). I also maintain a list of popular plugins that can be included in your build.\n\n## directories\n\n### [.github/](./.github/)\n\nThis directory contains my GitHub actions, which automatically check for updates to various sources, and rebuild and cache my nix setups for various platforms.\n\n### [examples/](./examples/)\n\nThis directory contains examples of use of my repo as a source for other tools/environments!\n\n### [hosts/](./hosts/)\n\nThis directory contains my NixOS configurations for each of my NixOS machines, as well as a `common.nix` file that contains shared configurations for my servers/clients.\n\n### [mods/](./mods/)\n\nThis directory contains my overlays for nixpkgs, but configured in a way that others can reuse specific parts of my overlays if they'd like to use this repo as a source.\n\n### [pkgs/](./pkgs/)\n\nThis directory contains nix packages that I've built that might not be yet ready for nixpkgs proper, or that don't make sense to open as a PR to nixpkgs proper.\n\n### [scripts/](./scripts/)\n\nThis directory contains various random scripts that I use in this repo, or in packages created by this repo.\n\n### [secrets/](./secrets/)\n\nThis directory contains encrypted secrets for my nixos machines, using [agenix](https://github.com/ryantm/agenix).\n\n### [default.nix](./default.nix)\n\nThis file acts as the entrypoint for nix to pin my nixpkgs version to the rev and sha256 found [in the flake.lock](./flake.lock).\n\n### [flake.nix](./flake.nix)\n\nMy main [nix flake](https://nixos.wiki/wiki/Flakes) file\n\n### [home.nix](./home.nix)\n\nThis file contains my main [home-manager](https://github.com/nix-community/home-manager) configuration. This includes all sorts of packages, configurations, and dotfiles for pretty much all software that I use.\n\n### [overlays.nix](./overlays.nix)\n\nThis file declares the overlays that I apply to my pinned version of nixpkgs. This should load the files in the [mods](./mods/) directory, which are overlay functions which apply to my nixpkgs object in nix. **note that this file is much more verbose than required! personally, I prefer the explicitness here**\n\n---\n\n## other great resources\n\n### [awesome-nix](https://github.com/nix-community/awesome-nix)\n\nA curated list of the best resources in the Nix community.\n\n### [nix.dev](https://nix.dev/)\n\nOfficial documentation for getting things done with Nix. ([source repo here](https://github.com/NixOS/nix.dev))\n\n### [keith's nix repo](https://github.com/kwbauson/cfg)\n\n[Keith](https://github.com/kwbauson/) is a friend of mine and is the person who first introduced me to nix - his repo has been a great thing to explore to learn more about what is possible.\n\n### [wuz's nix repo](https://github.com/wuz/prst)\n\n[wuz](https://github.com/wuz) is a friend of mine who has some great nix modules/examples! Wuz has many examples of fully configuring things with [home-manager](https://github.com/nix-community/home-manager).\n\n### [how to learn nix](https://ianthehenry.com/posts/how-to-learn-nix/)\n\nan awesome blog series by [Ian Henry](https://twitter.com/ianthehenry) about learning nix.\n\n### [nix package search](https://search.nixos.org/packages?channel=unstable)\n\nThis is the official nixpkgs search engine. I use this all the time!\n\n### [nix-learning](https://github.com/humancalico/nix-learning)\n\nThis is a collection of other resources that are useful for getting a better understanding of nix.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpetrucciani%2Fnix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpetrucciani%2Fnix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpetrucciani%2Fnix/lists"}