Add build-time system config directory variable

This commit is contained in:
EnumDev 2025-06-21 18:01:08 +03:00
parent 3025fee2bb
commit ff087b196a
6 changed files with 13 additions and 11 deletions

View File

@ -8,7 +8,7 @@ GO ?= $(shell which go)
build:
mkdir -p build
cd src/; $(GO) build -ldflags "-w" -o ../build/typer
cd src/; $(GO) build -ldflags "-w -X 'main.sysconfdir=$(SYSCONFDIR)'" -o ../build/typer
install: build/typer
# Create directories
@ -24,4 +24,4 @@ uninstall:
clean:
rm -r build/
.PHONY: build
.PHONY: build

View File

@ -20,5 +20,5 @@ make
```
- Run the following command **with superuser privileges** to install Typer to your system
```shell
make install SYSCONFDIR=/etc
```
make install
```

View File

@ -44,8 +44,8 @@ func readConfig() {
if err != nil {
log.Fatalf("Could not unmarshal config.yml: %s", err)
}
} else if _, err := os.Stat("/etc/typer/config.yml"); err == nil {
reader, err := os.Open("/etc/typer/config.yml")
} else if _, err := os.Stat(path.Join(sysconfdir, "typer/config.yml")); err == nil {
reader, err := os.Open(path.Join(sysconfdir, "typer/config.yml"))
if err != nil {
log.Fatalf("Could not read config.yml: %s", err)
}

View File

@ -40,8 +40,8 @@ func readKeybindings() {
if err != nil {
log.Fatalf("Could not unmarshal keybindings.yml: %s", err)
}
} else if _, err := os.Stat("/etc/typer/keybindings.yml"); err == nil {
reader, err := os.Open("/etc/typer/keybindings.yml")
} else if _, err := os.Stat(path.Join(sysconfdir, "typer/keybindings.yml")); err == nil {
reader, err := os.Open(path.Join(sysconfdir, "typer/keybindings.yml"))
if err != nil {
log.Fatalf("Could not read keybindings.yml: %s", err)
}

View File

@ -5,6 +5,8 @@ import (
"os"
)
var sysconfdir = "/etc/"
func main() {
// Read config
readConfig()

View File

@ -94,14 +94,14 @@ func readStyles() {
}
}
}
if stat, err := os.Stat("/etc/typer/styles/"); err == nil && stat.IsDir() {
entries, err := os.ReadDir("/etc/typer/styles/")
if stat, err := os.Stat(path.Join(sysconfdir, "typer/styles/")); err == nil && stat.IsDir() {
entries, err := os.ReadDir(path.Join(sysconfdir, "typer/styles/"))
if err != nil {
log.Fatalf("Could not read user style directory: %s", err)
}
for _, entry := range entries {
entryPath := path.Join("/etc/typer/styles/", entry.Name())
entryPath := path.Join(path.Join(sysconfdir, "typer/styles/"), entry.Name())
style, err := readStyleYamlFile(entryPath)
if err != nil {
log.Fatalf("Could not read style file (%s): %s", entryPath, err)