Connect applications to schemes, filetypes, and more on macOS (more to come)
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

read 'em up

+33 -23
+33 -23
.config/project.ncl
··· 1 1 let inputs = import "./nickel.lock.ncl" in 2 2 let organist = inputs.organist in 3 3 4 + # Normalizer: accepts list of pkgs (strings/enums) -> record of nix imports 5 + let normalizePkgs = fun pkgs => 6 + std.array.fold_left 7 + (fun acc pkg => 8 + let pkgName = 9 + if std.is_string pkg then pkg 10 + else if std.is_enum pkg then std.enum.to_string pkg 11 + else error "Unsupported package reference: %{pkg}" 12 + in 13 + acc & { "${pkgName}" = organist.import_nix "nixpkgs#${pkgName}" } 14 + ) 15 + {} 16 + pkgs 17 + in 18 + 19 + # external files 20 + let buildPkgs = import "./build.ncl" in 21 + let commonPkgs = import "./common.ncl" in 22 + let devPkgs = import "./dev.ncl" in 23 + 4 24 organist.OrganistExpression 5 25 & organist.tools.editorconfig 6 26 & { 7 27 Schema, 8 - config | Schema 9 - = { 10 - # Here we pull in the classical Rust dependencies 11 - shells = organist.shells.Rust, 28 + config | Schema = { 29 + shells = organist.shells.Rust, 12 30 13 - shells.build = { 14 - packages = { 15 - # For the packaging process 16 - coreutils = organist.import_nix "nixpkgs#coreutils", 17 - b3sum = organist.import_nix "nixpkgs#b3sum", # Blake3 18 - nushell = organist.import_nix "nixpkgs#nushell", # My scripting shell of choice 19 - }, 20 - }, 31 + shells.build = { 32 + packages = normalizePkgs buildPkgs & normalizePkgs commonPkgs, 33 + }, 21 34 22 - shells.dev = { 23 - packages.just = organist.import_nix "nixpkgs#just", # Command runner 24 - packages.jujutsu = organist.import_nix "nixpkgs#jujutsu", # VCS of choice 25 - packages.git = organist.import_nix "nixpkgs#git", # For pasky git operations 26 - packages.xh = organist.import_nix "nixpkgs#xh", # For HTTP requests 27 - }, 35 + shells.dev = { 36 + packages = normalizePkgs devPkgs, 37 + }, 28 38 29 - editorconfig.sections = { 30 - "*".indent_style = 'tab, 31 - "*".insert_final_newline = false, 32 - }, 39 + editorconfig.sections = { 40 + "*".indent_style = 'tab, 41 + "*".insert_final_newline = false, 33 42 }, 43 + }, 34 44 } 35 - | organist.modules.T 45 + | organist.modules.T