summaryrefslogtreecommitdiffhomepage
path: root/org/config.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/config.org')
-rw-r--r--org/config.org280
1 files changed, 280 insertions, 0 deletions
diff --git a/org/config.org b/org/config.org
new file mode 100644
index 0000000..563ab1f
--- /dev/null
+++ b/org/config.org
@@ -0,0 +1,280 @@
+-*- mode: org -*-
+#+TITLE: configuration: .gitignore and copyright
+#+DESCRIPTION: setup only; the code, READMEs and build files are kept as files
+#+FILETAGS: :spine:build:tools:
+#+AUTHOR: Ralph Amissah
+#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
+#+COPYRIGHT: Copyright (C) 2026 Ralph Amissah
+#+LANGUAGE: en
+#+STARTUP: show3levels hideblocks hidestars noindent entitiespretty
+#+PROPERTY: header-args+ :eval never-export :exports code
+#+PROPERTY: header-args+ :noweb yes :padline no
+#+PROPERTY: header-args+ :results silent :cache no
+#+PROPERTY: header-args+ :mkdirp yes
+#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+
+* ./
+** git .gitignore :gitignore:
+
+- git ls-files --others --exclude-from=.git/info/exclude
+- git ls-files --others --ignored --exclude-standard --directory
+- git check-ignore -v flake.lock
+- git clean -ix
+- find . -name "*_" | xargs rm -rf
+- find . -name "*.o" | xargs rm -rf
+
+#+HEADER: :tangle "../.gitignore"
+#+BEGIN_SRC gitignore
+# Deny everything, then whitelist what belongs in the repository.
+#
+# The practice is deliberate: a repository should hold what was decided to
+# put in it, not whatever happened to be in the directory when someone ran
+# "git add .". Build output, editor droppings, downloaded dependencies and
+# exported binaries are numerous, are regenerated, and differ between
+# machines; source is few and is chosen. So the default is no, and every
+# yes below is a decision that can be read.
+#
+# To see what is being excluded, and why:
+# git status --ignored
+# git check-ignore -v <path>
+# git ls-files --others --ignored --exclude-standard --directory
+
+*
+
+# ── the repository itself ────────────────────────────────────────────────
+!.gitignore
+!README.md
+!**/COPYRIGHT
+!**/LICENSE
+
+# ── directories have to be walked into before a file inside can match ────
+!gleam/
+!dlang/
+!org/
+!gleam/**/
+!dlang/**/
+!org/**/
+!pipeline/
+# but not these, whatever they contain
+build/
+.build/
+.direnv/
+.gleam/
+bin/
+result
+result-*
+
+# ── documentation and notes, in any language directory ───────────────────
+!**/*.md
+!**/*.org
+
+# ── nix ──────────────────────────────────────────────────────────────────
+!**/*.nix
+!**/flake.lock
+!**/.envrc
+
+# ── dlang ────────────────────────────────────────────────────────────────
+!**/*.d
+!**/dub.json
+!**/dub.sdl
+!**/dub.selections.json
+*.o
+*.a
+*.lst
+
+# ── gleam ────────────────────────────────────────────────────────────────
+!**/*.gleam
+# Erlang, for what Gleam reaches through FFI (a sha256, from OTP crypto)
+!**/src/*.erl
+# gleam.toml is the manifest, manifest.toml is the lockfile: both belong
+!**/*.toml
+*.beam
+*.ez
+erl_crash.dump
+
+# ── ruby, when it arrives ────────────────────────────────────────────────
+!**/*.rb
+!**/Gemfile
+!**/Gemfile.lock
+!**/*.gemspec
+
+# ── continuous integration ───────────────────────────────────────────────
+!**/*.sh
+!**/*.yml
+!**/*.yaml
+#+END_SRC
+
+* COPYRIGHT & LICENSE
+** notices
+*** project (project root) ./
+
+#+HEADER: :tangle "../COPYRIGHT"
+#+HEADER: :noweb yes
+#+BEGIN_SRC text
+- Name: <<project_name>>
+ <<sisudoc_spine_copyright>>
+
+ <<sisudoc_spine_license_agpl3>>
+
+ <<sisudoc_spine_summary>>
+#+END_SRC
+
+#+HEADER: :tangle "../LICENSE"
+#+HEADER: :noweb yes
+#+BEGIN_SRC text
+<<sisudoc_spine_license_agpl3_the_license>>
+#+END_SRC
+
+*** code org ./org
+
+- .org literate programming:
+ - copyright asserted
+ - omitted
+ - license
+ - dependency information
+
+#+HEADER: :tangle "../org/COPYRIGHT"
+#+HEADER: :noweb yes
+#+BEGIN_SRC text
+- Name: <<project_name>>
+ <<sisudoc_spine_copyright>>
+
+ <<sisudoc_spine_summary>>
+#+END_SRC
+
+
+#+HEADER: :noweb yes
+#+BEGIN_SRC text
+- Name: <<project_name>>
+ <<sisudoc_spine_copyright>>
+
+ <<sisudoc_spine_license_agpl3>>
+
+ <<sisudoc_spine_summary>>
+#+END_SRC
+
+*** code source
+**** gleam
+
+#+HEADER: :tangle "../gleam/COPYRIGHT"
+#+HEADER: :noweb yes
+#+BEGIN_SRC org
+- Name: <<project_name>>
+ <<sisudoc_spine_copyright>>
+
+ <<sisudoc_spine_license_agpl3>>
+
+ <<sisudoc_spine_summary>>
+
+ - Copyright for ./nix-gleam/ 2023 Arnar Gauti Ingason
+ - License for ./nix-gleam/ MIT License
+#+END_SRC
+
+***** gleam src
+
+#+HEADER: :tangle "../gleam/src/COPYRIGHT"
+#+HEADER: :noweb yes
+#+BEGIN_SRC org
+- Name: <<project_name>>
+ <<sisudoc_spine_copyright>>
+
+ <<sisudoc_spine_license_agpl3>>
+
+ <<sisudoc_spine_summary>>
+#+END_SRC
+
+**** dlang
+***** dlang
+
+#+HEADER: :tangle "../dlang/COPYRIGHT"
+#+HEADER: :noweb yes
+#+BEGIN_SRC org
+- Name: <<project_name>>
+ <<sisudoc_spine_copyright>>
+
+ <<sisudoc_spine_license_agpl3>>
+
+ <<sisudoc_spine_summary>>
+#+END_SRC
+
+***** dlang src
+
+#+HEADER: :tangle "../dlang/src/COPYRIGHT"
+#+HEADER: :noweb yes
+#+BEGIN_SRC org
+- Name: <<project_name>>
+ <<sisudoc_spine_copyright>>
+
+ <<sisudoc_spine_license_agpl3>>
+
+ <<sisudoc_spine_summary>>
+#+END_SRC
+
+* org includes
+** project name
+
+#+NAME: project_name
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:project_name()>>
+#+END_SRC
+
+** project version
+
+#+NAME: spine_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_project_version()>>
+#+END_SRC
+
+** ocda ssp format version
+
+#+NAME: ocda_ssp_format_version
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:ocda_ssp_format_version()>>
+#+END_SRC
+
+** copyright
+
+#+NAME: sisudoc_spine_copyright
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:sisudoc_spine_copyright()>>
+#+END_SRC
+
+** license agpl3
+
+#+NAME: sisudoc_spine_license_agpl3
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:sisudoc_spine_license_agpl3()>>
+#+END_SRC
+
+#+NAME: sisudoc_spine_license_agpl3_the_license
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:sisudoc_spine_license_agpl3_the_license()>>
+#+END_SRC
+
+** spine_summary
+
+#+NAME: sisudoc_spine_summary
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:sisudoc_spine_summary()>>
+#+END_SRC
+
+** year
+
+#+NAME: year
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:year()>>
+#+END_SRC
+
+* nixpkgs source
+
+#+NAME: nixpkgs_unstable
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:nixpkgs_unstable()>>
+#+END_SRC
+
+* __END__