Code Monkey home page Code Monkey logo

humacs's Introduction

Humacs

Humacs

Macros for Humacs (aka Emacs for everyone)

Features

  • Extensible IDE
  • Runs everywhere
    • Locally (Linux, macOS, Windows)
    • Docker
    • Kubernetes
  • Mnemonic based flow
  • Supports multiple configuration profiles in Emacs
  • Integrates with tmate and tmux for pairing

Philosophy

Vanilla Emacs is inaccessable to most humans, therefore the power of Org mode based documentation and workflows is unavailable.

Literate programming and DevOps when combined together make the documentation also executable - meaning for reproducable easily documented creations.

Installation and deployment

To install or deploy, please checkout the deployment docs.

Configuration

Humacs can be configured through environment variables, these are details in the config docs.

Contributing

All contribution is welcome. For information, please check out the contributing docs.

License

Copyright 2020-2021 ii. This project is licensed under the BSD 2-clause and is Open Source. This program comes with absolutely no warranty.

humacs's People

Contributors

bernokl avatar bobymcbobs avatar heyste avatar hh avatar zachmandeville avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

humacs's Issues

Variable humacs.d path

Goal

Allow the switching of the path where Emacs loads everything from out via an environment variable.

Autostart LSP for Go

Currently when working on Go projects to enable the LSP server, it is required to run , c l w s followed by i to import the project.
I see it as important for onboarding and sanity to make this automatic.

Containerize

Goal

Create assets to run Humacs in Docker and CRIs

Add tests

Add a test to ensure that the environment is consistent between changes

Incorrect behavior of services exposed with k8s-service-ingress-port-bind-reconciler.sh

When a process binds to only one port, it will continuously go between on-and-off reconciling two services/ingresses

hugo-443                     <none>   hugo-443.bobymcbobs.pair.sharing.io                                                80, 443   2s

and

hugo                         <none>   hugo.bobymcbobs.pair.sharing.io                                                80, 443   1s

I believe this has something to do with the way it sees services/ingress that already exist, not checking the PID number

Fix yq installation

yq installed currently in the ii layer seems to not work as intended.
It should be instead installed with

GO111MODULE=on go get github.com/mikefarah/yq/v4

Missing requirements for Doom Emacs

doom doctor is noting a number of issues with the current setup on Humacs

ii@heyste-humacs-0:/var/local/humacs/doom-emacs/bin$ ./doom doctor                                                                                                            
> Compiling your literate config...
  - Tangled 18 code blocks from config.org
The doctor will see you now...

> Checking your Emacs version...
> Checking for Emacs config conflicts...
> Checking for private config conflicts...
> Checking for stale elc files...
> Checking Doom Emacs...

Note, built-in variable ‘overflow-newline-into-fringe’ not bound
‘org’ was already loaded by the time lang/org loaded, this may cause issues
  ✓ Initialized Doom Emacs 2.0.9
  ✓ Detected 55 modules
  ✓ Detected 240 packages
  > Checking Doom core for irregularities...
    x Couldn't find the `rg' binary; this a hard dependecy for Doom, file searches may not work at all
    ! Couldn't find the `fd' binary; project file searches will be slightly slower
    ! Warning: couldn't find "material-design-icons.ttf" font
    ! Warning: couldn't find "weathericons.ttf" font
    ! Warning: couldn't find "octicons.ttf" font
    ! Warning: couldn't find "fontawesome.ttf" font
    ! Warning: couldn't find "file-icons.ttf" font
    ! Warning: couldn't find "all-the-icons.ttf" font
  > Checking for stale elc files in your DOOMDIR...
  > Checking your enabled modules...
    > :tools terraform
      ! Couldn't find terraform.
    > :lang go
      ! Couldn't find gomodifytags. Manipulating struct tags will not work
      ! Couldn't find gotests. Generating tests will not work
      ! Couldn't find gore. REPL will not work
      ! Couldn't find guru. Refactoring commands (go-guru-*) won't work
    > :lang markdown
      ! Couldn't find a markdown compiler, `markdown-preview' won't work
    > :lang python
      x Couldn't find python in your PATH
      ! Couldn't find isort. Import sorting will not work.
      ! Couldn't find pipenv. pipenv support will not work.
      ! Couldn't find nosetests. Running tests through nose will not work.
      ! Couldn't find pytest. Running tests through pytest will not work.
    > :lang racket
      ! Could not find raco executable; commands for install packages and build libraries will not work.
      ! Could not find racket executable; REPL will not work.
      ! Could not find drracket executable; code-completion and syntax checking will not work.
    > :lang ruby
      ! Ruby isn't installed.
    > :lang sh
      ! Couldn't find shellcheck. Shell script linting will not work
    > :lang web
      ! Couldn't find stylelint. Linting for CSS modes will not work.
      ! Couldn't find js-beautify. Code formatting in JS/CSS/HTML modes will not work.


There are 2 errors!
There are 18 warnings!
✓ Finished! (2.5846s)

Install Clojure tooling / leningen etc

Need to add these to the image:

From https://github.com/sharingio/pair/tree/master/apps/client#dependencies

sudo apt install -y openjdk-14-jdk rlwrap
curl -OL -o lein https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
chmod +x lein
sudo mv lein /usr/local/bin/lein
curl -O https://download.clojure.org/install/linux-install-1.10.1.697.sh
chmod +x linux-install-1.10.1.697.sh
sudo ./linux-install-1.10.1.697.sh
rm ./linux-install-1.10.1.697.sh

Include dig with Humacs

Please add the dnsutils package so it's easier to troubleshoot any DNS issues with the cluster from within Humacs.

SOS ssh: instance copy/paste button initial population fails

As a human interested in seeing the SOS logs
Given I've clicked on `launch`
And I see the Status set to provisioning
And the SOS ssh text is populated
When  I click on the copy text icon
It should include a working SOS ssh url

(currently it keeps the default of ssh @sos..platformequinix.com)

Can't use multiple host-shell commands in a single source block

What did you expect to happen?

Running the following source block should execute both commands on the host

#+begin_src tmate :window kind
host-shell mkdir -p /root/go/src/k8s.io
host-shell chown -R 1000:1000 /root/go
#+end_src

What actually happened?

Only runs the first command. The following output happens with set -x

ii@heyste-humacs-0:~$ host-shell mkdir -p /root/go/src/k8s.io
+ host-shell mkdir -p /root/go/src/k8s.io
host-shell chown -R 1000:1000 /root/go
host-shell chown -R 1000:1000 /root/go

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.