diff options
author | max-amb <maxpeterambaum@gmail.com> | 2023-09-09 05:53:18 +0100 |
---|---|---|
committer | max-amb <maxpeterambaum@gmail.com> | 2023-09-09 05:53:18 +0100 |
commit | 3b77dfcc7e271c94da22fabe8e2b4f29cf80016d (patch) | |
tree | 04810404489f75cd6fd4cf70cc9207e7f74de09c /pkgs/applications/misc/nwg-look | |
parent | ed02e79bbe031a7ce9cf863660f10d3ef70b8636 (diff) |
nwg-look: init at v0.2.4
Diffstat (limited to 'pkgs/applications/misc/nwg-look')
-rw-r--r-- | pkgs/applications/misc/nwg-look/default.nix | 72 | ||||
-rw-r--r-- | pkgs/applications/misc/nwg-look/fix-paths.patch | 35 | ||||
-rw-r--r-- | pkgs/applications/misc/nwg-look/go.mod | 10 |
3 files changed, 117 insertions, 0 deletions
diff --git a/pkgs/applications/misc/nwg-look/default.nix b/pkgs/applications/misc/nwg-look/default.nix new file mode 100644 index 0000000000000..b9c092fa5939c --- /dev/null +++ b/pkgs/applications/misc/nwg-look/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, fetchFromGitHub +, substituteAll +, buildGoModule +, go +, glib +, pkg-config +, cairo +, gtk3 +, xcur2png +, libX11 +, zlib +}: + +buildGoModule rec { + pname = "nwg-look"; + version = "0.2.4"; + + src = fetchFromGitHub { + owner = "nwg-piotr"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-wUI58qYkVYgES87HQ4octciDlOJ10oJldbUkFgxRUd4="; + }; + + vendorHash = "sha256-dev+TV6FITd29EfknwHDNI0gLao7gsC95Mg+3qQs93E="; + + # Replace /usr/ directories with the packages output location + # This means it references the correct path + patches = [ ./fix-paths.patch ]; + + postPatch = '' + sed -i 's|@out@|'"''${out}"'|g' main.go tools.go + ''; + + ldflags = [ "-s" "-w" ]; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + cairo + xcur2png + libX11.dev + zlib + gtk3 + ]; + + CGO_ENABLED = 1; + + postInstall = '' + mkdir -p $out/share + mkdir -p $out/share/nwg-look/langs + mkdir -p $out/share/applications + mkdir -p $out/share/pixmaps + cp stuff/main.glade $out/share/nwg-look/ + cp langs/* $out/share/nwg-look/langs + cp stuff/nwg-look.desktop $out/share/applications + cp stuff/nwg-look.svg $out/share/pixmaps + ''; + + meta = with lib; { + homepage = "https://github.com/nwg-piotr/nwg-look"; + description = "Nwg-look is a GTK3 settings editor, designed to work properly in wlroots-based Wayland environment."; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ max-amb ]; + mainProgram = "nwg-look"; + }; +} diff --git a/pkgs/applications/misc/nwg-look/fix-paths.patch b/pkgs/applications/misc/nwg-look/fix-paths.patch new file mode 100644 index 0000000000000..3b56e00522137 --- /dev/null +++ b/pkgs/applications/misc/nwg-look/fix-paths.patch @@ -0,0 +1,35 @@ +diff --git a/main.go b/main.go +index 23c4756..c52e9c3 100644 +--- a/main.go ++++ b/main.go +@@ -335,7 +335,7 @@ func main() { + + gtkSettings, _ = gtk.SettingsGetDefault() + +- builder, _ := gtk.BuilderNewFromFile("/usr/share/nwg-look/main.glade") ++ builder, _ := gtk.BuilderNewFromFile("@out@/share/nwg-look/main.glade") + win, _ := getWindow(builder, "window") + + win.Connect("destroy", func() { +diff --git a/tools.go b/tools.go +index e6e7665..59d6f35 100644 +--- a/tools.go ++++ b/tools.go +@@ -1034,7 +1034,7 @@ func getDataDirs() []string { + if os.Getenv("XDG_DATA_DIRS") != "" { + xdgDataDirs = os.Getenv("XDG_DATA_DIRS") + } else { +- xdgDataDirs = "/usr/local/share/:/usr/share/" ++ xdgDataDirs = "@out@/local/share/:@out@/share/" + } + + for _, d := range strings.Split(xdgDataDirs, ":") { +@@ -1280,7 +1280,7 @@ func detectLang() string { + } + + func loadVocabulary(lang string) map[string]string { +- langsDir := "/usr/share/nwg-look/langs/" ++ langsDir := "@out@/share/nwg-look/langs/" + enUSFile := filepath.Join(langsDir, "en_US.json") + if pathExists(enUSFile) { + log.Infof(">>> Loading basic lang from '%s'", enUSFile) diff --git a/pkgs/applications/misc/nwg-look/go.mod b/pkgs/applications/misc/nwg-look/go.mod new file mode 100644 index 0000000000000..0446058e56c22 --- /dev/null +++ b/pkgs/applications/misc/nwg-look/go.mod @@ -0,0 +1,10 @@ +module github.com/nwg-piotr/nwg-look + +go 1.20 + +require ( + github.com/gotk3/gotk3 v0.6.2 + github.com/sirupsen/logrus v1.9.3 +) + +require golang.org/x/sys v0.6.0 // indirect |