about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2023-07-26 19:00:18 +0900
committerNguyễn Gia Phong <mcsinyx@disroot.org>2023-07-26 19:00:46 +0900
commitb87cd600f55149586d5c5318f0f0507bf34f4a4d (patch)
tree5dbddc279ba0d75d25dfb1c702f8d16f6fbc2fac
parent4b8adb4594798777b744d67735395a2f3ebaaa10 (diff)
downloaddotfiles-b87cd600f551.tar.gz
Stage current ibus-table effort
-rw-r--r--guix/system.scm86
1 files changed, 83 insertions, 3 deletions
diff --git a/guix/system.scm b/guix/system.scm
index 909b25c..5987e34 100644
--- a/guix/system.scm
+++ b/guix/system.scm
@@ -1,7 +1,17 @@
 ;; This is an operating system configuration generated
 ;; by the graphical installer.
 
-(use-modules (gnu))
+(use-modules (gnu)
+             (gnu packages glib)
+             (gnu packages gtk)
+             (gnu packages ibus)
+             (gnu packages pkg-config)
+             (gnu packages python)
+             (gnu system setuid)
+             (guix build-system gnu)
+             (guix download)
+             (guix licenses)
+             (guix packages))
 (use-service-modules avahi desktop dns networking nix sound ssh xorg)
 
 (operating-system
@@ -19,9 +29,79 @@
                 %base-user-accounts))
   (packages
     (append
+      (let* ((ibussy
+              (package
+                (inherit ibus)
+                (native-search-paths
+                 (map (lambda (spec)
+                        (search-path-specification (variable (car spec))
+                                                   (files (list (cdr spec)))))
+                      '(("IBUS_COMPONENT_PATH" . "share/ibus/component")
+                        ("IBUS_DATAROOTDIR" . "share")
+                        ("IBUS_LIBEXECDIR" . "libexec")
+                        ("IBUS_LOCALEDIR" . "share/locale")
+                        ("IBUS_PREFIX" . "")
+                        ("IBUS_TABLE_BIN_PATH" . "bin")
+                        ("IBUS_TABLE_DATA_DIR" . "share")
+                        ("IBUS_TABLE_LIB_LOCATION" . "libexec")
+                        ("IBUS_TABLE_LOCATION" . "share/ibus-table"))))))
+             (ibus-table
+              (package
+                (name "ibus-table")
+                (version "1.17.1")
+                (source
+                  (origin
+                    (method url-fetch)
+                    (uri (string-append
+                           "https://github.com/mike-fabian/ibus-table/releases/download/"
+                           version "/ibus-table-" version ".tar.gz"))
+                    (sha256
+                      (base32 "063ba4fwk04lh0naj8z9r9x15ikckp94pd3f8xn40z3lnwsjx2sj"))))
+                (build-system gnu-build-system)
+                (arguments
+                  (list #:phases
+                        #~(modify-phases %standard-phases
+                            (add-before 'check 'pre-check
+                              (lambda _
+                                (setenv "HOME" (getcwd)))))))  ; tests write to $HOME
+                (native-inputs (list (list glib "bin")
+                                     pkg-config))
+                (inputs (list glib gtk+ ibussy python python-pygobject))
+                (home-page "https://mike-fabian.github.io/ibus-table")
+                (synopsis "Table based input framework for IBus")
+                (description
+                  "ibus-table is a framework for table based input methods using IBus.")
+                (license lgpl2.1+)))
+             (ibus-table-others
+              (package
+                (name "ibus-table-others")
+                (version "1.3.16")
+                (source
+                  (origin
+                    (method url-fetch)
+                    (uri (string-append
+                           "https://github.com/moebiuscurve/ibus-table-others/releases/"
+                           "download/" version "/ibus-table-others-" version ".tar.gz"))
+                    (sha256
+                      (base32 "0vllwrjlgcvdjhs7nrg45hfvnivnfhrc05r6rhw8m0c41layl9jg"))))
+                (build-system gnu-build-system)
+                (arguments
+                  (list #:phases
+                        #~(modify-phases %standard-phases
+                            (add-before 'build 'pre-build
+                              (lambda _
+                                (setenv "HOME" (getcwd)))))))  ; db written in $HOME
+                (native-inputs (list pkg-config python))
+                (inputs (list ibussy ibus-table))
+                (home-page "https://github.com/moebiuscurve/ibus-table-others")
+                (synopsis "Various table-based input methods for IBus")
+                (description "Other tables")
+                (license gpl3))))
+             (list ibussy ibus-table ibus-table-others))
       (specifications->packages
-        '("bash-completion" "curl" "fd" "file" "htop"
-          "nss-certs" "ranger" "ripgrep" "rsync" "vim-full"))
+        '("bash-completion" "curl" "dconf" "fd" "file" "htop"
+          "ibus-libhangul" "nss-certs" "ranger"
+          "ripgrep" "rsync" "udevil" "vim-full" "virt-manager"))
       %base-packages))
   (services
     (cons* (service openssh-service-type