My personal Nix flake
  • Nix 80.2%
  • HTML 8.7%
  • CSS 6.3%
  • Nushell 4.6%
  • Lua 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate e357d81978
All checks were successful
Actions / Build Flake Packages & Push to Cache (push) Successful in 2m25s
chore(deps): lock file maintenance (#315)
2026-09-13 20:05:29 -04:00
.forgejo/workflows chore(deps): update actions/setup-nix action to v31.11.1 (#283) 2026-08-25 20:08:34 -04:00
.zed repo: add new zed tasks 2026-08-28 12:41:58 -04:00
assets calagopus: fix playerlisting extension 2026-09-13 15:00:56 -04:00
config move stuff into separate asset packages 2026-09-12 01:54:14 -04:00
hosts calagopus: add mctools extension 2026-09-13 14:40:43 -04:00
lib Noctalia v4 -> v5 (#238) 2026-06-28 22:17:20 -04:00
modules chore(deps): update ghcr.io/calagopus/wings docker tag to v1.2.1 (#313) 2026-09-13 14:10:32 -04:00
packages calagopus: actually fix extension naming but like for real this time 2026-09-13 14:57:27 -04:00
scripts scripts: update some scripts to use new utils module functions 2026-08-23 15:37:16 -04:00
templates chore(deps): lock file maintenance (#315) 2026-09-13 20:05:29 -04:00
.envrc flake refactoring 2025-06-11 12:39:25 -05:00
.gitignore add uv2nix template 2026-05-17 15:33:54 -04:00
.luarc.json yazi: add typechecking for yazi plugins 2026-06-07 15:13:53 -04:00
.sops.yaml sops: switch to age keys, remove ssh keys 2026-08-23 23:25:36 -04:00
flake.lock sonora: add 2026-09-01 22:25:09 -04:00
flake.nix sonora: add 2026-09-01 22:25:09 -04:00
LICENSE add LICENSE file 2024-11-22 10:24:49 -05:00
nufmt.nuon style: format 2026-06-21 00:52:26 -04:00
pyproject.toml packages(cswimrflake): attempt to fix cswimrflake rebuilding every time the flake changes 2026-05-01 22:56:27 -04:00
README.md readme: tweaks 2026-06-20 15:04:50 -04:00
renovate.json5 renovate: update managerFilePatterns for new module layout 2026-07-11 10:59:19 -04:00
secrets.sops.yaml sops: switch to age keys, remove ssh keys 2026-08-23 23:25:36 -04:00

flake

Hi there! This repository contains my NixOS flake. This is mainly meant as a utility for my own use, but if you'd like to base your configs on mine for some reason, feel free!

Templates

These devshell templates come with direnv and nix-direnv support. Here is an example NixOS configuration to enable these tools.

{
  programs.direnv = {
    enable = true;
    nix-direnv.enable = true;
    direnvrcExtra =
      # setting the DIRENV_DISABLE environment variable will prevent direnv from running.
      # useful for scripts, so you don't have to wait for a flake to evaluate.
      ''
        ''${DIRENV_DISABLE:+exit}
      '';
  };
}

Simple

This template has all the batteries included to get you started with numtide's devshell. Use the following command to add it to your project:

nix flake init -t "git+https://c.csw.im/cswimr/flake#simple"

uv

This template offers a Python environment, sporting uv as the package manager and some example packages. It also automatically handles installing your dependencies, whether they're from a pyproject.toml file or from an older requirements.txt file. Use the following command to add it to your project:

nix flake init -t "git+https://c.csw.im/cswimr/flake#uv"

Avoiding Python Compilation

This template uses nixpkgs-python to retrieve Python builds. You can use Cachix to add their binary cache to your user configuration. This will avoid lengthy Python compilation times. You can use the following command to add the binary cache to your user's nix.conf file:

nix-shell -p cachix --run "cachix use nixpkgs-python"

Here's an example NixOS configuration that configures this binary cache system-wide:

{
    nix = {
        substituters = [
            "https://nixpkgs-python.cachix.org"
        ];
        trusted-public-keys = [
            "nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU="
        ];
    };
};

uv2nix

This template offers a Python environment, similar to that of the uv template, but built by Nix using the uv2nix project. This is not meant to be dropped into pre-existing projects like the uv template is, and as such it comes with a pyproject.toml and uv.lock file included. Use the following command to add it to your project:

nix flake init -t "git+https://c.csw.im/cswimr/flake#uv2nix"

Notes

  • This configuration offers nushell as the default shell. This also includes a starship prompt.
  • This repository manages secrets using sops-nix.