From ee8fac8ab8529e2d105c7e55c2c9b28aefd19b46 Mon Sep 17 00:00:00 2001 From: "W. Kosior" Date: Mon, 27 May 2024 12:19:19 +0200 Subject: Update and add remaining files. --- abdul-blog/Makefile | 22 ++++ abdul-blog/hello-world.gmi | 5 + abdul-blog/hello-world.html | 49 ++++++++ abdul-blog/index.gmi | 35 ++++++ abdul-blog/index.html | 49 ++++++++ abdul-blog/learning-guix-home.gmi | 49 ++++++++ abdul-blog/learning-guix-home.html | 49 ++++++++ abdul-blog/matterbridge-in-tildeserver.gmi | 174 ++++++++++++++++++++++++++++ abdul-blog/matterbridge-in-tildeserver.html | 49 ++++++++ abdul-blog/mine-guix-shell.gmi | 19 +++ abdul-blog/mine-guix-shell.html | 49 ++++++++ abdul-blog/minetest-server.gmi | 105 +++++++++++++++++ abdul-blog/minetest-server.html | 49 ++++++++ abdul-blog/sorry-gemini-only.gmi | 4 + 14 files changed, 707 insertions(+) create mode 100644 abdul-blog/Makefile create mode 100644 abdul-blog/hello-world.gmi create mode 100644 abdul-blog/hello-world.html create mode 100644 abdul-blog/index.gmi create mode 100644 abdul-blog/index.html create mode 100644 abdul-blog/learning-guix-home.gmi create mode 100644 abdul-blog/learning-guix-home.html create mode 100644 abdul-blog/matterbridge-in-tildeserver.gmi create mode 100644 abdul-blog/matterbridge-in-tildeserver.html create mode 100644 abdul-blog/mine-guix-shell.gmi create mode 100644 abdul-blog/mine-guix-shell.html create mode 100644 abdul-blog/minetest-server.gmi create mode 100644 abdul-blog/minetest-server.html create mode 100644 abdul-blog/sorry-gemini-only.gmi (limited to 'abdul-blog') diff --git a/abdul-blog/Makefile b/abdul-blog/Makefile new file mode 100644 index 0000000..efa6127 --- /dev/null +++ b/abdul-blog/Makefile @@ -0,0 +1,22 @@ +GEMINI_ONLY = \ + minetest-server \ + matterbridge-in-tildeserver +GEMINI_AND_HTML = \ + index \ + hello-world \ + mine-guix-shell \ + learning-guix-home + +all: $(addsuffix .html,$(GEMINI_ONLY) $(GEMINI_AND_HTML)) +.PHONY: all + +%.html: %.gmi + if printf %s '$(GEMINI_ONLY)' | grep -q $*; then \ + ./convert_gemtext_file.py sorry-gemini-only.gmi > $@; \ + else \ + ./convert_gemtext_file.py $< > $@; \ + fi + +clean: + rm -rf *.html +.PHONY: clean diff --git a/abdul-blog/hello-world.gmi b/abdul-blog/hello-world.gmi new file mode 100644 index 0000000..ca3848f --- /dev/null +++ b/abdul-blog/hello-world.gmi @@ -0,0 +1,5 @@ +# Hello, World! + +I just discovered server ctftilde.koszko.org. It seems the first public tilde server with available GNU Guix for the users. And also it has Gemini server ^^ What an wonderful opportunity to start an blog! + +=> /~abdul/index.gmi back into blog index diff --git a/abdul-blog/hello-world.html b/abdul-blog/hello-world.html new file mode 100644 index 0000000..0c938e6 --- /dev/null +++ b/abdul-blog/hello-world.html @@ -0,0 +1,49 @@ + + + + + +
+

Hello, World!

I just discovered server ctftilde.koszko.org. It seems the first public tilde server with available GNU Guix for the users. And also it has Gemini server ^^ What an wonderful opportunity to start an blog!

back into blog index

+
+ diff --git a/abdul-blog/index.gmi b/abdul-blog/index.gmi new file mode 100644 index 0000000..d4c5585 --- /dev/null +++ b/abdul-blog/index.gmi @@ -0,0 +1,35 @@ +# Abdul's technology blog + +Hi, I'm Abdul El-Ihn-Ohn-Ih. I'm a enthusiast in programming. Lisp is mine favourite language. I also enjoy to write (I write about stuff I do on an computer). +Below is my index of mine blog entries. If something there is interesting you, feel free emailing me at abdul2007@pm.me. +Note: some of articles are avaiable only in gemini://. Use an gemini browser for view that. + +=> gemini://geminiprotocol.net/ +=> gemini://geminiprotocol.net/software/ + +## Mine entries +### 2024-03-15 + +=> /~abdul/matterbridge-in-tildeserver.gmi Matterbridge in tildeserver + +### 2024-02-29 + +=> /~abdul/minetest-server.gmi Mine Minetest + +### 2024-02-25 + +=> /~abdul/learning-guix-home.gmi Learning Guix Home + +### 2024-02-20 + +=> /~abdul/mine-guix-shell.gmi Mine Guix shell + +### 2024-02-11 + +=> /~abdul/hello-world.gmi Hello, World! + +## Other peoples blogs + +I would like to writing links to other cool Tilde Server blogs here. If you did maked the blog on ctftilde.koszko.org like I did maked, please tell me an link to this and I will write it below. + +=> https://ctftilde.koszko.org/registration Registration to Tilde Server diff --git a/abdul-blog/index.html b/abdul-blog/index.html new file mode 100644 index 0000000..1ea4af8 --- /dev/null +++ b/abdul-blog/index.html @@ -0,0 +1,49 @@ + + + + + +
+

Abdul's technology blog

Hi, I'm Abdul El-Ihn-Ohn-Ih. I'm a enthusiast in programming. Lisp is mine favourite language. I also enjoy to write (I write about stuff I do on an computer).

Below is my index of mine blog entries. If something there is interesting you, feel free emailing me at abdul2007@pm.me.

Note: some of articles are avaiable only in gemini://. Use an gemini browser for view that.

https://geminiprotocol.net/

https://geminiprotocol.net/software/

Mine entries

2024-03-15

Matterbridge in tildeserver

2024-02-29

Mine Minetest

2024-02-25

Learning Guix Home

2024-02-20

Mine Guix shell

2024-02-11

Hello, World!

Other peoples blogs

I would like to writing links to other cool Tilde Server blogs here. If you did maked the blog on ctftilde.koszko.org like I did maked, please tell me an link to this and I will write it below.

Registration to Tilde Server

+
+ diff --git a/abdul-blog/learning-guix-home.gmi b/abdul-blog/learning-guix-home.gmi new file mode 100644 index 0000000..ca3c98c --- /dev/null +++ b/abdul-blog/learning-guix-home.gmi @@ -0,0 +1,49 @@ +# Learning Guix Home + +Today I just learnt to use + +``` +guix home +``` + +command to reconfigure my home environment with functional package manager in Guix. I written this script on my UNIX Tilde account. + +``` +(use-modules ((gnu home) #:select (home-environment)) + ((gnu home services) #:select + (home-files-service-type service)) + ((gnu home services shells) #:select + (home-bash-configuration home-bash-service-type)) + ((gnu system shadow) #:select (%default-dotguile)) + ((guix gexp) #:select (file-append gexp local-file plain-file))) + +(home-environment + (services + (list + (service home-bash-service-type + (home-bash-configuration + (bash-profile (list (plain-file + "bash_ps1" + "export PS1=\"\n↓← $PS1\n→ \""))))) + + (service home-files-service-type + `((".guile" ,%default-dotguile)))))) +``` + +I written it in home-config.scm and then I run + +``` +guix home reconfigure home-config.scm +``` + +Now I having better bash shell which taking less characters, so I can write more command in one line. +## Mine currently working +I am currently working to serving Minetest Server on Tilde Server. I installed it by + +``` +guix shell minetest +``` + +and I will to write about in mine next blog post. + +=> /~abdul/index.gmi back into blog index diff --git a/abdul-blog/learning-guix-home.html b/abdul-blog/learning-guix-home.html new file mode 100644 index 0000000..42dcf9d --- /dev/null +++ b/abdul-blog/learning-guix-home.html @@ -0,0 +1,49 @@ + + + + + +
+

Learning Guix Home

Today I just learnt to use

guix home

command to reconfigure my home environment with functional package manager in Guix. I written this script on my UNIX Tilde account.

(use-modules ((gnu home) #:select (home-environment))((gnu home services) #:select(home-files-service-type service))((gnu home services shells) #:select(home-bash-configuration home-bash-service-type))((gnu system shadow) #:select (%default-dotguile))((guix gexp) #:select (file-append gexp local-file plain-file)))(home-environment(services(list(service home-bash-service-type(home-bash-configuration(bash-profile (list (plain-file"bash_ps1""export PS1=\"\n↓← $PS1\n→ \"")))))(service home-files-service-type`((".guile" ,%default-dotguile))))))

I written it in home-config.scm and then I run

guix home reconfigure home-config.scm

Now I having better bash shell which taking less characters, so I can write more command in one line.

Mine currently working

I am currently working to serving Minetest Server on Tilde Server. I installed it by

guix shell minetest

and I will to write about in mine next blog post.

back into blog index

+
+ diff --git a/abdul-blog/matterbridge-in-tildeserver.gmi b/abdul-blog/matterbridge-in-tildeserver.gmi new file mode 100644 index 0000000..f7e3e03 --- /dev/null +++ b/abdul-blog/matterbridge-in-tildeserver.gmi @@ -0,0 +1,174 @@ +# Matterbridge in tildeserver + +Hello friends, today I maked a bridge with Matterbridge program for Discord and Matrix room I talk in. It is cool because I run this in Guix functional package manager with UNIX Tilde server. + +## Config .scm + +I added 1 line to mine home config to using new modules + +``` + ((gnu packages messaging) #:select (matterbridge)) +``` + +And I has added more lines down under + +``` +(define home-matterbridge-services + (const + (list (shepherd-service + (provision '(mattermost)) + (modules '((shepherd support))) ;for '%user-log-dir' + (start #~(make-forkexec-constructor + '(#$(file-append matterbridge "/bin/matterbridge") + "--conf" + #$(local-file "config.toml")) + #:log-file (string-append %user-log-dir + "/matterbridge.log"))) + (stop #~(make-kill-destructor)) + (documentation "Start local matterbridge."))))) + +(define home-matterbridge-service-type + (service-type + (name 'home-matterbridge) + (extensions + (list (service-extension home-shepherd-service-type + home-matterbridge-services))) + (description "Bridge messaging platforms using matterbridge.") + (default-value #f))) +``` + +That define service, that I use in home environment, like this + +``` + (service home-matterbridge-service-type) +``` + +This is similar to Minetest Server service. + +=> /~abdul/minetest-server.gmi mine Minetest Server blog post + +## Matterbridge config .toml + +I use also an .toml file to configuring the Matterbridge program. It have this + +``` +[matrix.noevil-pl] +Server="https://matrix.noevil.pl" +Login="abdul" +Password="***************" +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " +NoHomeServerSuffix=false + +[discord.cyber] +Server="3333333333333333333" +Token="000000000000000000000000.111111.22222222222222222222222222222222222222" +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " +PreserveThreading=true + +[[gateway]] +name="secret_room" +enable=true + +[[gateway.inout]] +account="matrix.noevil-pl" +channel="!HNiADouYMzLGUUxtxw:noevil.pl" + +[[gateway.inout]] +account="discord.cyber" +channel="ID:1207786885481500702" +``` + +There I replace an real password with "***************". + +## Full config .scm + +This is mine config full + +``` +(use-modules ((gnu home) #:select (home-environment)) + ((gnu home services) #:select + (home-activation-service-type home-files-service-type service + service-extension service-type)) + ((gnu home services shells) #:select + (home-bash-configuration home-bash-service-type)) + ((gnu home services shepherd) #:select + (home-shepherd-service-type shepherd-service)) + ((gnu packages messaging) #:select (matterbridge)) + ((gnu packages minetest) #:select (minetest-server)) + ((gnu system shadow) #:select (%default-dotguile)) + ((guix gexp) #:select (file-append gexp local-file plain-file))) + +(define home-matterbridge-services + (const + (list (shepherd-service + (provision '(mattermost)) + (modules '((shepherd support))) ;for '%user-log-dir' + (start #~(make-forkexec-constructor + '(#$(file-append matterbridge "/bin/matterbridge") + "--conf" + #$(local-file "config.toml")) + #:log-file (string-append %user-log-dir + "/matterbridge.log"))) + (stop #~(make-kill-destructor)) + (documentation "Start local matterbridge."))))) + +(define home-matterbridge-service-type + (service-type + (name 'home-matterbridge) + (extensions + (list (service-extension home-shepherd-service-type + home-matterbridge-services))) + (description "Bridge messaging platforms using matterbridge.") + (default-value #f))) + +(define home-minetest-services + (const + (list (shepherd-service + (provision '(minetest)) + (modules '((shepherd support))) ;for '%user-log-dir' + (start #~(make-forkexec-constructor + '(#$(file-append minetest-server "/bin/minetestserver") + "--gameid" "minetest" + "--config" #$(local-file "abdultest.conf")) + #:environment-variables + (cons + (format #f "MINETEST_SUBGAME_PATH=~a/share/minetest/games" + #$(@@ (gnu packages minetest) minetest-data)) + (default-environment-variables)) + #:log-file (string-append %user-log-dir + "/minetest.log"))) + (stop #~(make-kill-destructor)) + (documentation "Start Minetest block game like Minecraft."))))) + +(define home-minetest-activation + (const #~(mkdir-p "/home/ctftilde/ctftilde-abdul/.local/minetest/abdultest"))) + +(define home-minetest-service-type + (service-type + (name 'home-minetest) + (extensions + (list (service-extension home-shepherd-service-type + home-minetest-services) + (service-extension home-activation-service-type + home-minetest-activation))) + (description "Minetest block game like Minecraft.") + (default-value #f))) + +(home-environment + (services + (list + (service home-bash-service-type + (home-bash-configuration + (bash-profile (list (plain-file + "bash_ps1" + "export PS1=\"\n↓← $PS1\n→ \""))))) + + (service home-files-service-type + `((".guile" ,%default-dotguile))) + + (service home-matterbridge-service-type) + + (service home-minetest-service-type)))) +``` + +=> /~abdul/index.gmi back into blog index diff --git a/abdul-blog/matterbridge-in-tildeserver.html b/abdul-blog/matterbridge-in-tildeserver.html new file mode 100644 index 0000000..ca128da --- /dev/null +++ b/abdul-blog/matterbridge-in-tildeserver.html @@ -0,0 +1,49 @@ + + + + + +
+

Gemini-only page

Sorry, that page is unavaiable for viewing in HTTPS. Please use Gemini instead of.

back into blog index

+
+ diff --git a/abdul-blog/mine-guix-shell.gmi b/abdul-blog/mine-guix-shell.gmi new file mode 100644 index 0000000..eca28fa --- /dev/null +++ b/abdul-blog/mine-guix-shell.gmi @@ -0,0 +1,19 @@ +# Mine guix shell + +An + +``` +guix shell +``` + +command is very cool. Today I maked Lagrange Gemini client installed in an shell. I can do that by + +``` +guix shell lagrange +``` + +=> https://gmi.skyjake.fi/lagrange/ Lagrange Browser Website + +I display many interesting Gemini websites under Lagrange. I can even reading Wikipedia on Gemini. It's cool and I'd like to more people use Gemini instead of HTTPS. + +=> /~abdul/index.gmi back into blog index diff --git a/abdul-blog/mine-guix-shell.html b/abdul-blog/mine-guix-shell.html new file mode 100644 index 0000000..442aac7 --- /dev/null +++ b/abdul-blog/mine-guix-shell.html @@ -0,0 +1,49 @@ + + + + + +
+

Mine guix shell

An

guix shell

command is very cool. Today I maked Lagrange Gemini client installed in an shell. I can do that by

guix shell lagrange

Lagrange Browser Website

I display many interesting Gemini websites under Lagrange. I can even reading Wikipedia on Gemini. It's cool and I'd like to more people use Gemini instead of HTTPS.

back into blog index

+
+ diff --git a/abdul-blog/minetest-server.gmi b/abdul-blog/minetest-server.gmi new file mode 100644 index 0000000..0a0c819 --- /dev/null +++ b/abdul-blog/minetest-server.gmi @@ -0,0 +1,105 @@ +# Mine Minetest + +Haha, 2x "Mine", I hope you see an joke. +I write to explain you how I setup minetest server under this Tilde UNIX server. Also is this mine first blog post which only is on Gemini and not on HTTPS. You have to installed a Gemini client to reading it. + +## Guix config + +Mine Guix Home config has growing a lot and this is now + +``` +(use-modules ((gnu home) #:select (home-environment)) + ((gnu home services) #:select + (home-files-service-type service service-extension + service-type)) + ((gnu home services shells) #:select + (home-bash-configuration home-bash-service-type)) + ((gnu home services shepherd) #:select + (home-shepherd-service-type shepherd-service)) + ((gnu packages minetest) #:select (minetest-server)) + ((gnu system shadow) #:select (%default-dotguile)) + ((guix gexp) #:select (file-append gexp local-file plain-file))) + +(define home-minetest-services + (const + (list (shepherd-service + (provision '(minetest)) + (modules '((shepherd support))) ;for '%user-log-dir' + (start #~(make-forkexec-constructor + '(#$(file-append minetest-server "/bin/minetestserver") + "--gameid" "minetest" + "--config" #$(local-file "abdultest.conf")) + #:log-file (string-append %user-log-dir + "/minetest.log"))) + (stop #~(make-kill-destructor)) + (documentation "Start Minetest block game like Minecraft."))))) + +(define home-minetest-activation + (const #~(mkdir-p "/home/ctftilde/ctftilde-abdul/.local/minetest/abdultest"))) + +(define home-minetest-service-type + (service-type + (name 'home-minetest) + (extensions + (list (service-extension home-shepherd-service-type + home-minetest-services) + (service-extension home-activation-service-type + home-minetest-activation))) + (description "Minetest block game like Minecraft.") + (default-value #f))) + +(home-environment + (services + (list + (service home-bash-service-type + (home-bash-configuration + (bash-profile (list (plain-file + "bash_ps1" + "export PS1=\"\n↓← $PS1\n→ \""))))) + + (service home-files-service-type + `((".guile" ,%default-dotguile))) + + (service home-minetest-service-type)))) +``` + +But this is no all, and I had advice to writing Minetest Server map config in a new file abdultest.conf. This is inside that + +``` +map-dir = /home/ctftilde/abdul/.local/minetest/abdultest +server_name = Abdul & friends +motd = I and mine friends build of blocks +port = 20030 +``` + +Then I use + +``` +#$(local-file "abdultest.conf") +``` + +to putting the file into Guix and it put an path to .conf file in Minetest Server command. (I had been said this helps because Guix can "declaratively" define the system) + +## Adding to Cron + +Services from .scm configuration file are runned by shepderd who is started when user logins. So yeah, I want a initial shepherd process starting when reboot and a Minetest Server process starting by shepherd then. For that I edit crontab like + +``` +crontab -e +``` + +and write line like + +``` +* * * * * bash -l +``` + +## Thanks + +I wanted to thank to Wojtek Kosior for helping me 2x to write Guix home configs and write cron configs. Thank you and you also for wanting to reading my blog. + +## Mine currently working + +I am now plan to using matterbridge software to connecting Matrix and Discord. I try to doing this similar to doing the Minetest Server and to using Guix Home functional package manager to doing that. + +=> /~abdul/index.gmi back into blog index diff --git a/abdul-blog/minetest-server.html b/abdul-blog/minetest-server.html new file mode 100644 index 0000000..ca128da --- /dev/null +++ b/abdul-blog/minetest-server.html @@ -0,0 +1,49 @@ + + + + + +
+

Gemini-only page

Sorry, that page is unavaiable for viewing in HTTPS. Please use Gemini instead of.

back into blog index

+
+ diff --git a/abdul-blog/sorry-gemini-only.gmi b/abdul-blog/sorry-gemini-only.gmi new file mode 100644 index 0000000..ce34f26 --- /dev/null +++ b/abdul-blog/sorry-gemini-only.gmi @@ -0,0 +1,4 @@ +# Gemini-only page +Sorry, that page is unavaiable for viewing in HTTPS. Please use Gemini instead of. + +=> /~abdul/index.gmi back into blog index -- cgit v1.2.3