diff --git a/.hugo_build.lock b/.hugo_build.lock deleted file mode 100644 index e69de29..0000000 diff --git a/README.md b/README.md index ae4198d..a404fda 100644 --- a/README.md +++ b/README.md @@ -1,6 +1 @@ -[tech.ingolf-wagner.de](https://tech.ingolf-wagner.de) source code. - -``` -nix run # to run local server -nix run ".#publish" # to publish site -``` \ No newline at end of file +[tech.ingolf-wagner.de](https://tech.ingolf-wagner.de) source code. \ No newline at end of file diff --git a/Rakefile b/Rakefile deleted file mode 100644 index 0c189b8..0000000 --- a/Rakefile +++ /dev/null @@ -1,161 +0,0 @@ - -# -# configuration -# - -@viewer = "feh" # just comment out if you don't want the viewr task - -# -# default task -# - -desc "create all files" -task :all -task :default => :all - -# -# tasks I need for all files -# - -def rest_tasks(name, file, png_file, svg_file) - - desc "generate all files for ./#{file}" - task name => png_file - task name => svg_file - - if @viewer - - show_name = "view_#{name}" - desc "#{@viewer} ./#{png_file}" - task show_name => png_file do - sh "#{@viewer} #{png_file}" - end - - end - - # append tasks to default task - task :all => png_file - task :all => svg_file - -end - -# -# tasks for blockdiag files -# -Dir['src/images/**/*.diag'].each do |diag_file| - - name = diag_file[0..-6] - svg_file = "#{name}.svg" - png_file = "#{name}.png" - - - task svg_file do - sh "blockdiag -Tsvg -o #{name}.svg #{diag_file}" - end - - task png_file do - sh "blockdiag --no-transparency -Tpng -o #{name}.png #{diag_file}" - end - - rest_tasks(name, diag_file, png_file, svg_file) - -end - -# -# tasks for nwdiag files -# -Dir['src/images/**/*.nwdiag'].each do |diag_file| - - name = diag_file[0..-8] - svg_file = "#{name}.svg" - png_file = "#{name}.png" - - - task svg_file do - sh "nwdiag -Tsvg -o #{name}.svg #{diag_file}" - end - - task png_file do - sh "nwdiag --no-transparency -Tpng -o #{name}.png #{diag_file}" - end - - rest_tasks(name, diag_file, png_file, svg_file) - -end - -# -# tasks for seqdiag files -# -Dir['src/images/**/*.seqdiag'].each do |diag_file| - - name = diag_file[0..-9] - svg_file = "#{name}.svg" - png_file = "#{name}.png" - - - task svg_file do - sh "seqdiag -Tsvg -o #{name}.svg #{diag_file}" - end - - task png_file do - sh "seqdiag --no-transparency -Tpng -o #{name}.png #{diag_file}" - end - - rest_tasks(name, diag_file, png_file, svg_file) - -end - -# -# tasks for actdiag files -# -Dir['src/images/**/*.actdiag'].each do |diag_file| - - name = diag_file[0..-9] - svg_file = "#{name}.svg" - png_file = "#{name}.png" - - - task svg_file do - sh "actdiag -Tsvg -o #{name}.svg #{diag_file}" - end - - task png_file do - sh "actdiag --no-transparency -Tpng -o #{name}.png #{diag_file}" - end - - rest_tasks(name, diag_file, png_file, svg_file) - -end - - -# -# hugo server -# -desc "start the hugo server" -task :run_server => [:build_css] do - sh "hugo serve" -end - - -# -# publish -# -desc "publish" -task :publish => [:all] do - sh "./publish.ion" -end - -desc "preview" -task :preview => [:all] do - sh "./preview.ion" -end - - - -desc "build css" -task :build_css do - sh "lessc src/lessc/page/main.less static/css/main.css" - sh "lessc src/lessc/remark/main-light.less static/css/remark-light.css" - sh "lessc src/lessc/remark/main-dark.less static/css/remark-dark.css" -end -task :all => :build_css diff --git a/Taskfile.yml b/Taskfile.yml index 02116b6..c77cc7c 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -5,13 +5,13 @@ vars: SERVER_PATH: /srv/www/tech tasks: - server: + serve: deps: [assets] - cmds: ["hugo serve"] + cmds: ["zola serve"] build: deps: [assets] - cmds: ["hugo"] + cmds: ["zola"] assets: deps: [css] diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..7228e30 --- /dev/null +++ b/config.toml @@ -0,0 +1,16 @@ +# The URL the site will be built for +base_url = "https://tech.ingolf-wagner.de" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = false + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = true + +[markdown] +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = true + +[extra] +# Put all your custom variables here diff --git a/config.yaml b/config.yaml index 24ce0dc..cd8f2e4 100644 --- a/config.yaml +++ b/config.yaml @@ -1,3 +1,4 @@ +# old delete if not needed anymore baseURL: "http://tech.ingolf-wagner.de" languageCode: "en-us" title: "Techblog - Ingolf Wagner" diff --git a/content/_index.md b/content/_index.md index 2acba3e..ef6083b 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,14 +1,3 @@ ---- -title: "tech" -date: 2018-09-28T21:43:24+02:00 ---- - -Hey here are some articles about technical issues. -Most of them are about -[NixOS](https://nixos.org) topics, -because it is the Operation System of my choice. - -If you are interested in more output of me please visit -["my other page"](https://ingolf-wagner.de). - -## Featured ++++ +template = "index.html" ++++ diff --git a/content/about.md b/content/about/index.md similarity index 85% rename from content/about.md rename to content/about/index.md index 7611d6c..1bedf1e 100644 --- a/content/about.md +++ b/content/about/index.md @@ -1,6 +1,7 @@ ---- -title: About me ---- ++++ +title = "About me" +template = "page.html" ++++ I'm a freelancing Mathematician, Full Stack Developer and DevOps Engineer. [NixOS](https://nixos.org) is my Operating System of choice. diff --git a/content/nixos/index.md b/content/nixos/index.md new file mode 100644 index 0000000..88f41e4 --- /dev/null +++ b/content/nixos/index.md @@ -0,0 +1,11 @@ ++++ +title = "NixOS Articles" +template = "page.html" +page_template = "page.html" ++++ + +Hey here are some articles about technical issues. +Most of them are about +[NixOS](https://nixos.org) +related topics, +because it is the OS of my choice. diff --git a/content/nixos/vsketch-and-NixOS/index.md b/content/nixos/vsketch-and-NixOS/index.md index 5f7b1f0..bcad217 100644 --- a/content/nixos/vsketch-and-NixOS/index.md +++ b/content/nixos/vsketch-and-NixOS/index.md @@ -1,16 +1,9 @@ ---- -title: "vsketch and NixOS" -date: 2023-07-09T15:26:24+02:00 -tags: - - NixOS - - Plotting - - vsketch -summary: > - Adventures with vsketch, axidraw and NixOS. ---- - - -# vsketch and NixOS ++++ +title = "vsketch and NixOS" +date = 2023-07-09T15:26:24+02:00 +tags = [ "NixOS","Plotting","vsketch"] +summary = "Adventures with vsketch, axidraw and NixOS." ++++ I like to plotter. I like to draw pictures with my [axidraw](https://axidraw.com/) and ogle with the [terrapen](https://terrapen.xyz/products/terrapen-a2-pen-plotter) . @@ -36,7 +29,7 @@ in the repositories `.envrc` file. In the `shell.nix` I simple define a all packages I need and override the `steam-run` binary to add some package. Getting to this point, was a bit fiddly, but once it works, it works :D This is my `shell.nix` -```text-plain +```nix { pkgs ? import { } }: pkgs.mkShell { buildInputs = @@ -76,7 +69,7 @@ pkgs.mkShell { Now `pipenv` has all needed dependencies for it's thing to do. But we need to set up `pipenv` itself as well, of course. Here is my `Pipfile`: -```text-plain +```toml [[source]] url = "https://pypi.org/simple" verify_ssl = true @@ -95,7 +88,7 @@ python_full_version = "3.10.11" Now I can run -```text-plain +```shell pipenv install ``` @@ -106,7 +99,7 @@ My first sketch After running -```text-plain +```shell vsk init SimpleRings ``` @@ -116,7 +109,7 @@ I'm amazed how fast my development cycle was. I could instantly see results, and Here is my first script + some screenshots and photos of the results: -```text-plain +```python import vsketch class SimpleRingsSketch(vsketch.SketchClass): diff --git a/content/art/graffiti-wallpapers/images/wallpaper_01.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_01.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_01.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_01.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_02.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_02.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_02.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_02.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_03.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_03.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_03.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_03.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_04.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_04.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_04.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_04.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_05.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_05.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_05.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_05.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_06.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_06.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_06.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_06.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_07.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_07.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_07.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_07.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_08.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_08.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_08.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_08.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_09.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_09.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_09.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_09.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_10.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_10.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_10.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_10.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_11.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_11.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_11.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_11.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_13.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_13.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_13.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_13.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_14.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_14.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_14.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_14.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_15.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_15.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_15.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_15.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_16.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_16.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_16.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_16.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_17.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_17.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_17.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_17.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_18.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_18.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_18.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_18.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_19.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_19.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_19.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_19.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_20.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_20.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_20.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_20.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_21.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_21.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_21.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_21.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_22.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_22.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_22.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_22.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_23.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_23.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_23.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_23.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_24.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_24.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_24.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_24.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_25.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_25.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_25.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_25.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_26.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_26.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_26.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_26.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_27.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_27.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_27.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_27.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_29.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_29.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_29.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_29.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_35.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_35.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_35.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_35.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_36.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_36.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_36.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_36.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_37.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_37.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_37.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_37.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_38.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_38.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_38.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_38.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_43.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_43.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_43.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_43.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_44.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_44.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_44.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_44.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_45.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_45.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_45.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_45.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_47.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_47.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_47.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_47.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_48.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_48.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_48.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_48.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_49.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_49.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_49.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_49.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_50.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_50.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_50.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_50.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_51.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_51.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_51.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_51.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_52.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_52.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_52.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_52.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_53.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_53.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_53.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_53.jpg diff --git a/content/art/graffiti-wallpapers/images/wallpaper_54.jpg b/content_asdf/art/graffiti-wallpapers/images/wallpaper_54.jpg similarity index 100% rename from content/art/graffiti-wallpapers/images/wallpaper_54.jpg rename to content_asdf/art/graffiti-wallpapers/images/wallpaper_54.jpg diff --git a/content/art/graffiti-wallpapers/index.md b/content_asdf/art/graffiti-wallpapers/index.md similarity index 100% rename from content/art/graffiti-wallpapers/index.md rename to content_asdf/art/graffiti-wallpapers/index.md diff --git a/content/nixos/_index.md b/content_asdf/nixos/_index.md similarity index 100% rename from content/nixos/_index.md rename to content_asdf/nixos/_index.md diff --git a/content/nixos/images/2subnets.svg b/content_asdf/nixos/images/2subnets.svg similarity index 100% rename from content/nixos/images/2subnets.svg rename to content_asdf/nixos/images/2subnets.svg diff --git a/content/nixos/images/3computers.svg b/content_asdf/nixos/images/3computers.svg similarity index 100% rename from content/nixos/images/3computers.svg rename to content_asdf/nixos/images/3computers.svg diff --git a/content/nixos/images/qemu-kvm-setup.svg b/content_asdf/nixos/images/qemu-kvm-setup.svg similarity index 100% rename from content/nixos/images/qemu-kvm-setup.svg rename to content_asdf/nixos/images/qemu-kvm-setup.svg diff --git a/content/nixos/images/screenshot1.png b/content_asdf/nixos/images/screenshot1.png similarity index 100% rename from content/nixos/images/screenshot1.png rename to content_asdf/nixos/images/screenshot1.png diff --git a/content/nixos/images/screenshot2.png b/content_asdf/nixos/images/screenshot2.png similarity index 100% rename from content/nixos/images/screenshot2.png rename to content_asdf/nixos/images/screenshot2.png diff --git a/content/nixos/images/usb-stick-partitions.svg b/content_asdf/nixos/images/usb-stick-partitions.svg similarity index 100% rename from content/nixos/images/usb-stick-partitions.svg rename to content_asdf/nixos/images/usb-stick-partitions.svg diff --git a/content/nixos/krops.md b/content_asdf/nixos/krops.md similarity index 100% rename from content/nixos/krops.md rename to content_asdf/nixos/krops.md diff --git a/content/nixos/language-server.md b/content_asdf/nixos/language-server.md similarity index 100% rename from content/nixos/language-server.md rename to content_asdf/nixos/language-server.md diff --git a/content/nixos/new-design.md b/content_asdf/nixos/new-design.md similarity index 100% rename from content/nixos/new-design.md rename to content_asdf/nixos/new-design.md diff --git a/content/nixos/nix-instantiate.md b/content_asdf/nixos/nix-instantiate.md similarity index 100% rename from content/nixos/nix-instantiate.md rename to content_asdf/nixos/nix-instantiate.md diff --git a/content/nixos/nixos-usb-stick.md b/content_asdf/nixos/nixos-usb-stick.md similarity index 100% rename from content/nixos/nixos-usb-stick.md rename to content_asdf/nixos/nixos-usb-stick.md diff --git a/content/nixos/tinc.md b/content_asdf/nixos/tinc.md similarity index 100% rename from content/nixos/tinc.md rename to content_asdf/nixos/tinc.md diff --git a/content_asdf/nixos/vsketch-and-NixOS/images/plot01.jpg b/content_asdf/nixos/vsketch-and-NixOS/images/plot01.jpg new file mode 100644 index 0000000..6cb50ff Binary files /dev/null and b/content_asdf/nixos/vsketch-and-NixOS/images/plot01.jpg differ diff --git a/content_asdf/nixos/vsketch-and-NixOS/images/plot02.jpg b/content_asdf/nixos/vsketch-and-NixOS/images/plot02.jpg new file mode 100644 index 0000000..6aead9b Binary files /dev/null and b/content_asdf/nixos/vsketch-and-NixOS/images/plot02.jpg differ diff --git a/content_asdf/nixos/vsketch-and-NixOS/images/screenshot.png b/content_asdf/nixos/vsketch-and-NixOS/images/screenshot.png new file mode 100644 index 0000000..83bef9d Binary files /dev/null and b/content_asdf/nixos/vsketch-and-NixOS/images/screenshot.png differ diff --git a/content_asdf/nixos/vsketch-and-NixOS/index.md b/content_asdf/nixos/vsketch-and-NixOS/index.md new file mode 100644 index 0000000..5f7b1f0 --- /dev/null +++ b/content_asdf/nixos/vsketch-and-NixOS/index.md @@ -0,0 +1,174 @@ +--- +title: "vsketch and NixOS" +date: 2023-07-09T15:26:24+02:00 +tags: + - NixOS + - Plotting + - vsketch +summary: > + Adventures with vsketch, axidraw and NixOS. +--- + + +# vsketch and NixOS + +I like to plotter. I like to draw pictures with my [axidraw](https://axidraw.com/) and ogle with the [terrapen](https://terrapen.xyz/products/terrapen-a2-pen-plotter) . + +I had a few tries using [vsketch](https://vsketch.readthedocs.io/en/latest/) in [NixOS](https://nixos.org) but because I don't know much about Python and never had enough time to dig into it, +I never made [vsketch](https://vsketch.readthedocs.io/en/latest/) work under NixOS. Same holds for the [axidraw cli](https://axidraw.com/doc/cli_api/#introduction). + +But lately I got introduced to [pipenv](https://pipenv.pypa.io/en/latest/) which made everything possible and very easy. + +Setup +----- + +I simple use a combination of `direnv` `shell.nix` , `steam-run` and `pipenv` to make everything work. + +### shell.nix + +The shell nix is called by `direnv` simply by putting + +```text-plain +use nix +``` + +in the repositories `.envrc` file. + +In the `shell.nix` I simple define a all packages I need and override the `steam-run` binary to add some package. Getting to this point, was a bit fiddly, but once it works, it works :D This is my `shell.nix` + +```text-plain +{ pkgs ? import { } }: +pkgs.mkShell { + buildInputs = + let + steamrun = (pkgs.steam.override { + extraPkgs = pkgs: [ + (pkgs.python3.withPackages (ps: with ps; [ + matplotlib + pyside6 + setuptools + scikitlearn + toml + ])) + pkgs.qt6.qtbase + ]; + extraLibraries = pkgs: [ pkgs.libkrb5 ]; + }).run; + in + [ + (pkgs.writers.writeDashBin "vsk" '' + ${steamrun}/bin/steam-run pipenv run vsk "$@" + '') + (pkgs.writers.writeDashBin "axicli" '' + ${steamrun}/bin/steam-run pipenv run axicli "$@" + '') + (pkgs.writers.writeDashBin "python" '' + ${steamrun}/bin/steam-run ${pkgs.pipenv}/bin/pipenv run python "$@" + '') + (pkgs.writers.writeDashBin "pipenv" '' + ${steamrun}/bin/steam-run ${pkgs.pipenv}/bin/pipenv "$@" + '') + ]; +} +``` + +### Pipenv + +Now `pipenv` has all needed dependencies for it's thing to do. But we need to set up `pipenv` itself as well, of course. Here is my `Pipfile`: + +```text-plain +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +vsketch = {editable = true, git = "https://github.com/abey79/vsketch"} +axicli = {file = "https://cdn.evilmadscientist.com/dl/ad/public/AxiDraw_API.zip" } + +[dev-packages] + +[requires] +python_version = "3.10" +python_full_version = "3.10.11" +``` + +Now I can run + +```text-plain +pipenv install +``` + +and magically the shell command `vsk` (which is defined in the `shell.nix`) works like charm. + +My first sketch +--------------- + +After running + +```text-plain +vsk init SimpleRings +``` + +I could instantly start fiddling around with the code. + +I'm amazed how fast my development cycle was. I could instantly see results, and play around with seed and parameters. And once I liked something. I can just hit **Like** and it will be saved as svg. + +Here is my first script + some screenshots and photos of the results: + +```text-plain +import vsketch + +class SimpleRingsSketch(vsketch.SketchClass): + amount = vsketch.Param(3) + space = vsketch.Param(30, min_value=10) + min_radius = vsketch.Param(30, min_value=1) + base_rotation = vsketch.Param(1) + show_rings = vsketch.Param(True) + show_rings_randomly = vsketch.Param(True) + show_lines = vsketch.Param(True) + + def draw(self, vsk: vsketch.Vsketch) -> None: + vsk.size("a4", landscape=False) + + # vsk.scale("mm") + # height and width are in pixels (not mm) + max_radius = min(vsk.height / 2, vsk.width / 2) - self.space + + for i in range(self.amount): + radius = vsk.random(self.min_radius, max_radius) + amount_of_lines = int(vsk.random(1, radius)) + line_length = vsk.random(1, 20) + circle_line_height = vsk.random(1, line_length) + + # vsk.random() consumes the seed, so we have to consume it in every step, other changing the + # options would result in different results in the other routines. + if vsk.random(0, 1) > 0.5 or not self.show_rings_randomly: + if self.show_rings: + vsk.circle(0, 0, radius - circle_line_height, mode="radius") + + if not self.show_lines: + continue + vsk.rotate(self.base_rotation, degrees=True) + with vsk.pushMatrix(): + angle = 360.0 / amount_of_lines + for j in range(0, amount_of_lines): + vsk.rotate(angle, degrees=True) + vsk.line(0, radius, 0, radius - line_length) + + def finalize(self, vsk: vsketch.Vsketch) -> None: + vsk.vpype("linemerge linesimplify reloop linesort") + + +if __name__ == "__main__": + SimpleRingsSketch.display() +``` + +{{< card >}} +{{
}} +{{< /card >}} + +{{< card >}} +{{
}} +{{
}} +{{< /card >}} diff --git a/content/slides/_index.md b/content_asdf/slides/_index.md similarity index 100% rename from content/slides/_index.md rename to content_asdf/slides/_index.md diff --git a/content/slides/terranix.html b/content_asdf/slides/terranix.html similarity index 100% rename from content/slides/terranix.html rename to content_asdf/slides/terranix.html diff --git a/content/slides/why-nixos.html b/content_asdf/slides/why-nixos.html similarity index 100% rename from content/slides/why-nixos.html rename to content_asdf/slides/why-nixos.html diff --git a/flake.lock b/flake.lock index 6aa949d..957d2a3 100644 --- a/flake.lock +++ b/flake.lock @@ -1,39 +1,76 @@ { "nodes": { - "flake-utils": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "lastModified": 1725024810, + "narHash": "sha256-ODYRm8zHfLTH3soTFWE452ydPYz2iTvr9T8ftDMUQ3E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "af510d4a62d071ea13925ce41c95e3dec816c01d", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1666171135, - "narHash": "sha256-+0AIbPDd24ZVjZgFobJH3uuJuyLVZjiH0oQNb01hyWE=", - "owner": "nixos", + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "5720791e7fcdcc89834732e11848d73151356966", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1722555339, + "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + } + }, "root": { "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs", + "treefmt-nix": "treefmt-nix" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1724833132, + "narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "3ffd842a5f50f435d3e603312eefa4790db46af5", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index e716692..923d430 100644 --- a/flake.nix +++ b/flake.nix @@ -1,48 +1,27 @@ { - description = "my website"; + description = "Description for the project"; - inputs.nixpkgs.url = "github:nixos/nixpkgs"; - inputs.flake-utils.url = "github:numtide/flake-utils"; + inputs = { + flake-parts.url = "github:hercules-ci/flake-parts"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + treefmt-nix.url = "github:numtide/treefmt-nix"; + treefmt-nix.inputs.nixpkgs.follows = "nixpkgs"; + }; - outputs = { self, nixpkgs, flake-utils }: - (flake-utils.lib.eachDefaultSystem (system: - let pkgs = nixpkgs.legacyPackages.${system}; - in { - - # nix develop - devShell = pkgs.mkShell { - buildInputs = with pkgs; [ hugo lessc rake go-task feh ion inotify-tools ]; - }; - - # nix run - apps.default = self.apps.${system}.server; - - # nix run ".#server" - apps.server = { - type = "app"; - program = toString (pkgs.writers.writeBash "server" '' - set -e - set -o pipefail - PATH=${ - pkgs.lib.makeBinPath [ pkgs.lessc pkgs.go-task pkgs.ion pkgs.hugo ] - } - task server - ''); - }; - - # nix run ".#publish" - apps.publish = { - type = "app"; - program = toString (pkgs.writers.writeBash "publish" '' - set -e - set -o pipefail - PATH=${ - pkgs.lib.makeBinPath [ pkgs.lessc pkgs.go-task pkgs.ion pkgs.hugo pkgs.rsync pkgs.openssh ] - } - task publish - '' - ); - }; - - })); + outputs = + inputs@{ flake-parts, ... }: + flake-parts.lib.mkFlake { inherit inputs; } { + imports = [ + ./nix/formatter.nix + ./nix/devshells.nix + ]; + systems = [ + "x86_64-linux" + ]; + flake = { + # The usual flake attributes can be defined here, including system- + # agnostic ones like nixosModule and system-enumerating ones, although + # those are more easily expressed in perSystem. + }; + }; } diff --git a/nix/devshells.nix b/nix/devshells.nix new file mode 100644 index 0000000..693d29b --- /dev/null +++ b/nix/devshells.nix @@ -0,0 +1,39 @@ +_: { + perSystem = + { + pkgs, + self', + lib, + ... + }: + with lib; + { + devShells = { + default = pkgs.mkShell { + packages = [ + + pkgs.blockdiag + pkgs.nwdiag + pkgs.seqdiag + pkgs.actdiag + + pkgs.lessc + + pkgs.pandoc + + pkgs.go-task + + pkgs.zola + pkgs.sass + #(pkgs.writers.writeBashBin "publish" '' + # ${getExe pkgs.go-task} publish + #'') + (pkgs.writers.writeBashBin "serve" '' + ${getExe pkgs.go-task} serve + '') + + ]; + }; + }; + }; +} diff --git a/nix/formatter.nix b/nix/formatter.nix new file mode 100644 index 0000000..0eace5a --- /dev/null +++ b/nix/formatter.nix @@ -0,0 +1,14 @@ +{ inputs, ... }: +{ + imports = [ inputs.treefmt-nix.flakeModule ]; + + perSystem = _: { + treefmt = { + # https://flake.parts/options/treefmt-nix < for all options + projectRootFile = ".git/config"; + programs.nixfmt.enable = true; + #programs.prettier.enable = true; + #programs.prettier.includes = [ "*.md" ]; + }; + }; +} diff --git a/preview.ion b/preview.ion deleted file mode 100755 index 7dd0021..0000000 --- a/preview.ion +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ion - -set -e - -let server = sputnik.private -let server_path = /srv/www/tech_preview -let syncfolder = sync - -echo -echo "create page" -echo -hugo - -echo -echo "copy stuff" -echo -rsync \ - --recursive \ - --compress \ - --checksum \ - --verbose \ - --human-readable \ - --partial --progress \ - --protect-args \ - --delete-after \ - public/ $server:$server_path/ - - - diff --git a/publish.ion b/publish.ion deleted file mode 100755 index 0901951..0000000 --- a/publish.ion +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ion - -set -e - -let server = sputnik.private -let server_path = /srv/www/tech -let syncfolder = sync - -echo -echo "create page" -echo -hugo - -echo -echo "copy stuff" -echo -rsync \ - --recursive \ - --compress \ - --checksum \ - --verbose \ - --human-readable \ - --partial --progress \ - --protect-args \ - --delete-after \ - public/ $server:$server_path/ - - - diff --git a/shell.nix b/shell.nix deleted file mode 100644 index 6b2563b..0000000 --- a/shell.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ pkgs ? import {} }: -pkgs.mkShell { - - buildInputs = with pkgs; [ - hugo - - blockdiag - nwdiag - seqdiag - actdiag - - lessc - - rake - feh - - ion - inotify-tools - - pandoc - - go-task - ]; - -} diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..fb992de --- /dev/null +++ b/templates/base.html @@ -0,0 +1,58 @@ + + + + + + Tech-Blog + + + + + +
+ +
+ +
+ {% block content %} {% endblock %} +
+ + + + + \ No newline at end of file diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..9457554 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,12 @@ +{% extends "base.html" %} + +{% block content %} + +

Techblog

+ + + +{% endblock content %} \ No newline at end of file diff --git a/templates/page.html b/templates/page.html new file mode 100644 index 0000000..6d4765b --- /dev/null +++ b/templates/page.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block content %} + +

{{ page.title | safe }}

+ +{{ page.content | safe }} + +{% endblock content %} \ No newline at end of file