Changes
8 changed files (+612/-1)
-
-
@@ -1,6 +1,15 @@{ "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.14.0/.schema/devbox.schema.json", "packages": ["reuse@5.0.2", "dprint@0.49.1", "zig@0.14.0", "zls@0.14.0"], "include": [ "path:./gtk/plugin.json" ], "packages": [ "reuse@5.0.2", "dprint@0.49.1", "zig@0.14.0", "zls@0.14.0", "uncrustify@0.80" ], "shell": { "scripts": { "check": "reuse lint",
-
-
-
@@ -52,6 +52,174 @@ },"github:NixOS/nixpkgs/nixpkgs-unstable": { "resolved": "github:NixOS/nixpkgs/d19cf9dfc633816a437204555afeb9e722386b76?lastModified=1744316434&narHash=sha256-lzFCg%2F1C39pyY2hMB2gcuHV79ozpOz%2FVu15hdjiFOfI%3D" }, "gtk4@4.16": { "last_modified": "2025-03-27T11:50:31Z", "resolved": "github:NixOS/nixpkgs/6c5963357f3c1c840201eda129a99d455074db04#gtk4", "source": "devbox-search", "version": "4.16.12", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/i6cxc422nvip8sfkd6zibzivvnlah4x5-gtk4-4.16.12", "default": true }, { "name": "dev", "path": "/nix/store/gh6zdj7xbcgxslasgxs33zg5gfl420r0-gtk4-4.16.12-dev" } ], "store_path": "/nix/store/i6cxc422nvip8sfkd6zibzivvnlah4x5-gtk4-4.16.12" }, "aarch64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/7kb1hkhfx2fwmchvk8j4icwjqs6ivvh8-gtk4-4.16.12", "default": true }, { "name": "debug", "path": "/nix/store/miksnfwa6wyipad0y3k9gym5nq05hh2a-gtk4-4.16.12-debug" }, { "name": "dev", "path": "/nix/store/8mgl4iznzl3ff78ckz9yl3h9m4jbwz08-gtk4-4.16.12-dev" }, { "name": "devdoc", "path": "/nix/store/z9l8r0328m2vcnfbskw8v0zi01ww19cf-gtk4-4.16.12-devdoc" } ], "store_path": "/nix/store/7kb1hkhfx2fwmchvk8j4icwjqs6ivvh8-gtk4-4.16.12" }, "x86_64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/a3ypjk2ywcj10sgvjdvqbihscgyqca45-gtk4-4.16.12", "default": true }, { "name": "dev", "path": "/nix/store/vyqj30h729y80bqvx11ldk2q4l4mwi9w-gtk4-4.16.12-dev" } ], "store_path": "/nix/store/a3ypjk2ywcj10sgvjdvqbihscgyqca45-gtk4-4.16.12" }, "x86_64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/jlbffm71ylch5dyw44g2p2c857p1yqjv-gtk4-4.16.12", "default": true }, { "name": "debug", "path": "/nix/store/vsbg41sxl9hr6n77wli08a9x03y623cl-gtk4-4.16.12-debug" }, { "name": "dev", "path": "/nix/store/j8w09qk0waaiirlpr11as2ykq9n10vsj-gtk4-4.16.12-dev" }, { "name": "devdoc", "path": "/nix/store/r545vvgkwfphpkb9mnmlah3gsvha8zxs-gtk4-4.16.12-devdoc" } ], "store_path": "/nix/store/jlbffm71ylch5dyw44g2p2c857p1yqjv-gtk4-4.16.12" } } }, "libadwaita@1.6.4": { "last_modified": "2025-03-27T11:50:31Z", "resolved": "github:NixOS/nixpkgs/6c5963357f3c1c840201eda129a99d455074db04#libadwaita", "source": "devbox-search", "version": "1.6.4", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/1zbxa71s35rhspjf6w1qc96fn0dv5aba-libadwaita-1.6.4", "default": true }, { "name": "devdoc", "path": "/nix/store/fldcwqa2ypq6fpif7raax9f5y02psgxw-libadwaita-1.6.4-devdoc" }, { "name": "dev", "path": "/nix/store/01p6j1mj4vc6h185g6nq09vqcjghawcj-libadwaita-1.6.4-dev" } ], "store_path": "/nix/store/1zbxa71s35rhspjf6w1qc96fn0dv5aba-libadwaita-1.6.4" }, "aarch64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/266zvna2vszfa0n8v8fm6r2miykzwk4d-libadwaita-1.6.4", "default": true }, { "name": "debug", "path": "/nix/store/nmny2rchw8x0v1n9mv8lmcm04aibk7jz-libadwaita-1.6.4-debug" }, { "name": "dev", "path": "/nix/store/5df8n3r4x02a5k96w0w009r525vj6x9j-libadwaita-1.6.4-dev" }, { "name": "devdoc", "path": "/nix/store/ky03rn7zfqq0b80brap3hng2xcfr9838-libadwaita-1.6.4-devdoc" } ], "store_path": "/nix/store/266zvna2vszfa0n8v8fm6r2miykzwk4d-libadwaita-1.6.4" }, "x86_64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/0bqkmbxxs2hq97bb96x27sjzxw0ykvsx-libadwaita-1.6.4", "default": true }, { "name": "dev", "path": "/nix/store/4pn21g021pdhwc169hm0sr9cjrb7bvr7-libadwaita-1.6.4-dev" }, { "name": "devdoc", "path": "/nix/store/1ncck3lnlbkqq9j60npwwd5sr1cs1ycy-libadwaita-1.6.4-devdoc" } ], "store_path": "/nix/store/0bqkmbxxs2hq97bb96x27sjzxw0ykvsx-libadwaita-1.6.4" }, "x86_64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/jfia42fgcpz2gmb5l1mqps5qaaan3lcn-libadwaita-1.6.4", "default": true }, { "name": "debug", "path": "/nix/store/bly8n7mjp1ifj585fa896iwsqym6xn14-libadwaita-1.6.4-debug" }, { "name": "dev", "path": "/nix/store/5jbsdklmyf8d0mxnn3lip1kc0y86ydsy-libadwaita-1.6.4-dev" }, { "name": "devdoc", "path": "/nix/store/8vkk1rnlb8hnlfx910l8wi854g2zr1za-libadwaita-1.6.4-devdoc" } ], "store_path": "/nix/store/jfia42fgcpz2gmb5l1mqps5qaaan3lcn-libadwaita-1.6.4" } } }, "reuse@5.0.2": { "last_modified": "2025-03-24T07:07:41Z", "resolved": "github:NixOS/nixpkgs/1750f3c1c89488e2ffdd47cab9d05454dddfb734#reuse",
-
@@ -149,6 +317,166 @@ "path": "/nix/store/h4y0gbj28xyj7hrgdp1kvcbnz9bfc0qx-python3.12-reuse-5.0.2-doc"} ], "store_path": "/nix/store/6fbc43q7xs8ql2wvnamgs0hn2596ydrh-python3.12-reuse-5.0.2" } } }, "uncrustify@0.80": { "last_modified": "2025-03-11T17:52:14Z", "resolved": "github:NixOS/nixpkgs/0d534853a55b5d02a4ababa1d71921ce8f0aee4c#uncrustify", "source": "devbox-search", "version": "0.80.1", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/6pqz3rv5whwk6q8r8k0xnrmighcpbyij-uncrustify-0.80.1", "default": true } ], "store_path": "/nix/store/6pqz3rv5whwk6q8r8k0xnrmighcpbyij-uncrustify-0.80.1" }, "aarch64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/ha4ynsg6ylcpvzy0whcig7mnsck7zf12-uncrustify-0.80.1", "default": true } ], "store_path": "/nix/store/ha4ynsg6ylcpvzy0whcig7mnsck7zf12-uncrustify-0.80.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/1q4zhqw22x33a1n3kn6ab5fvbx9gc3za-uncrustify-0.80.1", "default": true } ], "store_path": "/nix/store/1q4zhqw22x33a1n3kn6ab5fvbx9gc3za-uncrustify-0.80.1" }, "x86_64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/7mb1jmf8y9a1sacr6hr2swp03gw2q22c-uncrustify-0.80.1", "default": true } ], "store_path": "/nix/store/7mb1jmf8y9a1sacr6hr2swp03gw2q22c-uncrustify-0.80.1" } } }, "vala-language-server@0.48": { "last_modified": "2025-03-23T05:31:05Z", "resolved": "github:NixOS/nixpkgs/dd613136ee91f67e5dba3f3f41ac99ae89c5406b#vala-language-server", "source": "devbox-search", "version": "0.48.7", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/gzyi9lanrcbv5vcpan4x5s64piqxb444-vala-language-server-0.48.7", "default": true } ], "store_path": "/nix/store/gzyi9lanrcbv5vcpan4x5s64piqxb444-vala-language-server-0.48.7" }, "aarch64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/ldvgxgjadhbqc4082mvi1liqsy5ppq6a-vala-language-server-0.48.7", "default": true } ], "store_path": "/nix/store/ldvgxgjadhbqc4082mvi1liqsy5ppq6a-vala-language-server-0.48.7" }, "x86_64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/51bkmcb73627d7ir5cpc93jfq8fp1b4m-vala-language-server-0.48.7", "default": true } ], "store_path": "/nix/store/51bkmcb73627d7ir5cpc93jfq8fp1b4m-vala-language-server-0.48.7" }, "x86_64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/bn3v37n1pnq6dzz7d66xnqfmqpxckqyb-vala-language-server-0.48.7", "default": true } ], "store_path": "/nix/store/bn3v37n1pnq6dzz7d66xnqfmqpxckqyb-vala-language-server-0.48.7" } } }, "vala@0.56": { "last_modified": "2025-03-23T05:31:05Z", "resolved": "github:NixOS/nixpkgs/dd613136ee91f67e5dba3f3f41ac99ae89c5406b#vala", "source": "devbox-search", "version": "0.56.17", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/ngf2vlpv3hdbigqwkmv4s664s4j0rsyr-vala-0.56.17", "default": true }, { "name": "devdoc", "path": "/nix/store/q34jfzcbh3sbg72kg254fji222xy4pff-vala-0.56.17-devdoc" } ], "store_path": "/nix/store/ngf2vlpv3hdbigqwkmv4s664s4j0rsyr-vala-0.56.17" }, "aarch64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/75xp4hk53c8i5xpkb6kvgakbdssmn1b4-vala-0.56.17", "default": true }, { "name": "devdoc", "path": "/nix/store/0pnnxdb2jsxynpq4khql8fdfia4ccsyr-vala-0.56.17-devdoc" } ], "store_path": "/nix/store/75xp4hk53c8i5xpkb6kvgakbdssmn1b4-vala-0.56.17" }, "x86_64-darwin": { "outputs": [ { "name": "out", "path": "/nix/store/4aah90yjnjhy8d5p4nglwn5ffjiv7y3d-vala-0.56.17", "default": true }, { "name": "devdoc", "path": "/nix/store/zb289mps7z1ygb2c5n3290s00l5bq9ff-vala-0.56.17-devdoc" } ], "store_path": "/nix/store/4aah90yjnjhy8d5p4nglwn5ffjiv7y3d-vala-0.56.17" }, "x86_64-linux": { "outputs": [ { "name": "out", "path": "/nix/store/074blln3yn5bbahzh6g366wgh8cz6wld-vala-0.56.17", "default": true }, { "name": "devdoc", "path": "/nix/store/zwi4bardc9sqw25dc8c7nmqvynr8w07n-vala-0.56.17-devdoc" } ], "store_path": "/nix/store/074blln3yn5bbahzh6g366wgh8cz6wld-vala-0.56.17" } } },
-
-
-
@@ -37,6 +37,10 @@ {"exts": ["zon"], "command": "zig fmt --zon --stdin", }, { "exts": ["vala"], "command": "uncrustify -c uncrustify.cfg -l VALA", }, ], }, "plugins": [
-
-
gtk/.gitignore (new)
-
@@ -0,0 +1,18 @@# Copyright 2025 Shota FUJI # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # SPDX-License-Identifier: Apache-2.0 # What: Built executable binary. /Application
-
-
gtk/plugin.json (new)
-
@@ -0,0 +1,20 @@{ "name": "plac-gtk4", "description": "GTK4 application", "packages": { "vala": { "version": "0.56" }, "vala-language-server": { "version": "0.48" }, "gtk4": { "version": "4.16", "outputs": ["out", "dev"] }, "libadwaita": { "version": "1.6.4", "outputs": ["out", "dev"] } } }
-
-
gtk/plugin.json.license (new)
-
@@ -0,0 +1,19 @@Copyright 2025 Shota FUJI Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. SPDX-License-Identifier: Apache-2.0 === Devbox configuration for GTK package.
-
-
gtk/src/Application.vala (new)
-
@@ -0,0 +1,38 @@// Copyright 2025 Shota FUJI // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // SPDX-License-Identifier: Apache-2.0 // Sample code from Elementary tutorial public class PlacApp : Gtk.Application { public PlacApp(){ Object( application_id: "jp.pocka.plac", flags : ApplicationFlags.DEFAULT_FLAGS ); } protected override void activate() { var main_window = new Gtk.ApplicationWindow(this) { default_height = 300, default_width = 300, title = "Hello, World!" }; main_window.present(); } public static int main(string[] args) { return new PlacApp().run(args); } }
-
-
uncrustify.cfg (new)
-
@@ -0,0 +1,175 @@# Copyright 2025 Shota FUJI # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # SPDX-License-Identifier: Apache-2.0 # # === # # Config file for Uncrustify. # "Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA" # https://uncrustify.sourceforge.net/ # The type of line endings. newlines = lf # The size of tabs in the output (only used if align_with_tabs=true). output_tab_size = 8 # Add or remove the UTF-8 BOM (recommend 'remove'). utf8_bom = remove # If the file contains bytes with values between 128 and 255, but is not # UTF-8, then output as UTF-8. utf8_byte = true # Force the output encoding to UTF-8. utf8_force = true # Add or remove space around non-assignment symbolic operators ('+', '/', '%', # '<<', and so forth). sp_arith = add # Add or remove space around assignment operator '=', '+=', etc. sp_assign = add # Add or remove space around assignment operator '=' in a prototype. # # If set to ignore, use sp_assign. sp_assign_default = add # Add or remove space before assignment operator '=', '+=', etc. # # Overrides sp_assign. sp_before_assign = add # Add or remove space after assignment operator '=', '+=', etc. # # Overrides sp_assign. sp_after_assign = add # Add or remove space around boolean operators '&&' and '||'. sp_bool = add # Add or remove space around compare operator '<', '>', '==', etc. sp_compare = add # Add or remove space inside '(' and ')'. sp_inside_paren = remove # Add or remove space inside function '(' and ')'. sp_inside_fparen = remove # Add or remove space between nested parentheses, i.e. '((' vs. ') )'. sp_paren_paren = remove # Add or remove space between back-to-back parentheses, i.e. ')(' vs. ') ('. sp_cparen_oparen = remove # Add or remove space between ')' and '{'. sp_paren_brace = add # Add or remove space between nested braces, i.e. '{{' vs. '{ {'. sp_brace_brace = remove # Add or remove space between '>' and '(' as found in 'new List<byte>(foo);'. sp_angle_paren = remove # Add or remove space between '>' and '()' as found in 'new List<byte>();'. sp_angle_paren_empty = remove # Add or remove space between '>' and a word as in 'List<byte> m;' or # 'template <typename T> static ...'. sp_angle_word = remove # Add or remove space before '(' of control statements ('if', 'for', 'switch', # 'while', etc.). sp_before_sparen = add # Add or remove space inside '(' and ')' of control statements other than # 'for'. sp_inside_sparen = remove # Add or remove space between ')' and '{' of control statements. sp_sparen_brace = add # Add or remove space after ',', i.e. 'a,b' vs. 'a, b'. sp_after_comma = add # (C#, Vala) Add or remove space between ',' and ']' in multidimensional array type # like 'int[,,]'. sp_after_mdatype_commas = remove # (C#, Vala) Add or remove space between '[' and ',' in multidimensional array type # like 'int[,,]'. sp_before_mdatype_commas = remove # (C#, Vala) Add or remove space between ',' in multidimensional array type # like 'int[,,]'. sp_between_mdatype_commas = remove # Add or remove space between a type and ':'. sp_type_colon = add # Add or remove space inside struct/union '{' and '}'. sp_inside_braces_struct = add # Add or remove space inside '{' and '}'. sp_inside_braces = add # Add or remove space inside '{}'. # if empty. sp_inside_braces_empty = remove # Add or remove space between type and open brace of an unnamed temporary # direct-list-initialization. sp_type_brace_init_lst = add # Add or remove space between function name and '(' on function declaration. sp_func_proto_paren = remove # Add or remove space between function name and '(' with a typedef specifier. sp_func_type_paren = remove # Add or remove space between alias name and '(' of a non-pointer function type typedef. sp_func_def_paren = remove # Add or remove space between ')' and '{' of a function call in object # initialization. # # Overrides sp_fparen_brace. sp_fparen_brace_initializer = add # Add or remove space between function name and '(' on function calls. sp_func_call_paren = remove # Add or remove space between a constructor/destructor and the open # parenthesis. sp_func_class_paren = remove # Add or remove space between 'else' and '{' if on the same line. sp_else_brace = force # Add or remove space between '}' and 'else' if on the same line. sp_brace_else = force # Whether the 'class' body is indented. indent_class = true # How to indent a close parenthesis after a newline. # # 0: Indent to body level (default) # 1: Align under the open parenthesis # 2: Indent to the brace level # -1: Preserve original indentation indent_paren_close = 2
-