main 7a3b92c

.goreleaser.yaml RawHistoryFolder

1# Builds the ermite release for a pushed v* tag (.github/workflows/release.yml)
2# and generates the neferbar-bin PKGBUILD. The workflow verifies that PKGBUILD
3# with makepkg before it pushes it to the AUR, so GoReleaser never uploads it.
4version: 2
5
6project_name: neferbar
7
8# Releases are published on ermite. In CI the runner sets GITHUB_API_URL and
9# GITHUB_SERVER_URL to an address the job can reach; the public URLs are the
10# fallback for a local run.
11github_urls:
12  api: '{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}/'
13  upload: '{{ or (index .Env "GITHUB_API_URL") "https://git.bnema.dev/-/github/api" }}/uploads/'
14  download: '{{ or (index .Env "GITHUB_SERVER_URL") "https://git.bnema.dev" }}/'
15
16before:
17  hooks:
18    - go mod verify
19
20builds:
21  - id: neferbar
22    main: ./cmd/neferbar
23    binary: neferbar
24    env:
25      - CGO_ENABLED=0
26    goos: [linux]
27    goarch: [amd64, arm64]
28    flags:
29      - -trimpath
30      - -buildmode=pie
31    ldflags:
32      - -s -w -X main.version={{ .Version }}
33    # Same inputs give the same binary.
34    mod_timestamp: "{{ .CommitTimestamp }}"
35
36archives:
37  - id: neferbar
38    ids: [neferbar]
39    name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
40    formats: [tar.gz]
41    # Everything the PKGBUILD package() installs, at the paths of the repo.
42    files:
43      - LICENSE
44      - README.md
45      - examples/**/*
46
47checksum:
48  name_template: checksums.txt
49  algorithm: sha256
50
51snapshot:
52  version_template: "{{ incpatch .Version }}-next"
53
54git:
55  tag_sort: -version:refname
56
57changelog:
58  sort: asc
59  use: git
60  filters:
61    exclude:
62      - "^style(\\([^)]+\\))?:"
63      - "^test(\\([^)]+\\))?:"
64  groups:
65    - title: Added
66      regexp: "^feat(\\([^)]+\\))?!?:"
67      order: 0
68    - title: Fixed
69      regexp: "^fix(\\([^)]+\\))?!?:"
70      order: 1
71    - title: Performance
72      regexp: "^perf(\\([^)]+\\))?!?:"
73      order: 2
74    - title: Changed
75      regexp: "^(refactor|build)(\\([^)]+\\))?!?:"
76      order: 3
77    - title: Documentation
78      regexp: "^docs(\\([^)]+\\))?!?:"
79      order: 4
80    - title: Maintenance
81      regexp: "^(chore|ci)(\\([^)]+\\))?!?:"
82      order: 5
83    - title: Other changes
84      order: 999
85
86release:
87  github:
88    owner: bnema
89    name: neferbar
90  draft: false
91  prerelease: auto
92  mode: replace
93  header: |
94    ## neferbar {{ .Tag }}
95
96    ### Install on Arch Linux
97
98    ```sh
99    paru -S neferbar-bin   # this release, pre-built (x86_64, aarch64)
100    paru -S neferbar-git   # latest main, built from source
101    ```
102
103    ### Install the pre-built archive
104
105    Linux amd64 and arm64. Replace `amd64` with `arm64` on ARM.
106
107    ```sh
108    curl -fLO https://git.bnema.dev/neferbar/releases/download/{{ .Tag }}/neferbar_{{ .Version }}_linux_amd64.tar.gz
109    curl -fLO https://git.bnema.dev/neferbar/releases/download/{{ .Tag }}/checksums.txt
110    sha256sum -c --ignore-missing checksums.txt
111    ```
112
113    The archive holds the `neferbar` binary, the example configs and scripts, the README and the license. See the [README](https://git.bnema.dev/neferbar) for runtime dependencies.
114
115aurs:
116  - name: neferbar-bin
117    ids: [neferbar]
118    homepage: https://git.bnema.dev/neferbar
119    # Public URL: github_urls.download is the CI-only relay address.
120    url_template: 'https://git.bnema.dev/neferbar/releases/download/{{ .Tag }}/{{ .ArtifactName }}'
121    description: One-cell-high, terminal-style status bar for Wayland, driven by scripts
122    maintainers:
123      - "bnema <b at bnema dot dev>"
124    license: MIT
125    # The release workflow verifies and publishes the generated PKGBUILD.
126    skip_upload: true
127    provides: [neferbar]
128    conflicts: [neferbar, neferbar-git]
129    # Loaded at runtime (purego, no cgo): not seen by makepkg's library scan.
130    # fontconfig provides fc-match, which finds the font files.
131    depends:
132      - glibc
133      - fontconfig
134      - libxkbcommon
135      - vulkan-icd-loader
136      - vulkan-driver
137    optdepends:
138      - "ttf-jetbrains-mono-nerd: default font, with the icons modules print"
139    package: |-
140      install -Dm755 ./neferbar "${pkgdir}/usr/bin/neferbar"
141      install -Dm644 ./README.md "${pkgdir}/usr/share/doc/neferbar/README.md"
142      cp -r ./examples "${pkgdir}/usr/share/doc/neferbar/examples"
143      install -Dm644 ./LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 5

Tags 4

↑↓ moveenter openesc close