• 2 Posts
  • 31 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle












  • I find the various linters and checkers a bit too intrusive while I’m trying to code - I prefer to just have a check when I stop fiddling with the code and save it. So I have these checks run in after-save-hook - if there are errors, I get a popup otherwise nothing and all is good:

    ;; ** syntax checking on file save:
    (defun bh/check-syntax ()
      "Check syntax for various languages."
      (when (eq major-mode 'emacs-lisp-mode)
        (ignore-errors (kill-buffer byte-compile-log-buffer))
        (let ((byte-compile-warnings '(not free-vars obsolete unresolved)))
          (unless (byte-compile-file buffer-file-name)
            (pop-to-buffer byte-compile-log-buffer))))
      (when (eq major-mode 'sh-mode)
        (compile (format "bash -n %s && shellcheck -f gcc %s" buffer-file-name buffer-file-name) t))
      (when (eq major-mode 'ruby-mode)
        (compile (format "ruby -c %s" buffer-file-name) t))
      (when (eq major-mode 'python-mode)
        (compile (format "python -B -m py_compile %s" buffer-file-name) t))
      (when (eq major-mode 'awk-mode)
        (compile (format "AWKPATH=$PATH gawk --lint --source 'BEGIN { exit(0) } END { exit(0) }' --file %s" buffer-file-name) t)))
    

    (add-hook 'after-save-hook #'bh/check-syntax)

    I don’t work much with json files but I daresay the idea could be extended to them. Sorry about the crappy elisp.




  • You can’t avoid IBM/RedHat - they contribute to the kernel and many, many other parts of Linux eg systemd. I have no idea what you mean by DIY distros, what a peculiar adjective in this context. Linux itself is DIY. Life is DIY.

    That said, voidlinux is an independent distro without systemd or snaps based on runit for init and xbps for package management. It’s also a STABLE rolling release.







  • StrangeAstronomer@lemmy.mltoLinux@lemmy.ml*Permanently Deleted*
    link
    fedilink
    arrow-up
    41
    arrow-down
    1
    ·
    8 months ago

    To imply that systemd is merely an init system is ingenuous at best and dishonest at worst - systemd is so much more than an init system, as that article mentioned. Since the article was written in 2014 systemd has grown massively in scope, even more than the author feared.

    It manages DNS, home directories, system services, seat managment, cron, system logging, booting… the list is ever growing. As such many people fear it is becoming too dominant through making more and more software dependent on it. It is not atomic - it is very difficult to have just one piece of systemd as its parts are tightly integrated and inter-dependent.

    One could even claim that systemd failed in it’s original remit - to make startup as fast as macOS by running tasks in parallel and by deferring service startup until they are actually needed. The result has been a not very performant init system - many init systems are faster eg runit, dinit. The systemd people now claim that speed is not a design goal.

    It is, however, open source and very widely adopted. Most people don’t care - they just want to run their browser and word processor.