diff options
| author | Mountain Man <43313373+MountainMan1312@users.noreply.github.com> | 2023-06-04 23:58:15 -0400 |
|---|---|---|
| committer | Mountain Man <43313373+MountainMan1312@users.noreply.github.com> | 2023-06-04 23:58:15 -0400 |
| commit | ea88979731f4175b5ec505bc7fb20f779d21d7f5 (patch) | |
| tree | 96f3858fd606e5af8d84791db1d04cc3978f54bb | |
| parent | Rename `xinitrc` to `.xinitrc` (diff) | |
| download | mmosmacs-ea88979731f4175b5ec505bc7fb20f779d21d7f5.tar.gz mmosmacs-ea88979731f4175b5ec505bc7fb20f779d21d7f5.tar.bz2 mmosmacs-ea88979731f4175b5ec505bc7fb20f779d21d7f5.zip | |
Overhaul `README.md`
| -rw-r--r-- | README.md | 74 |
1 files changed, 64 insertions, 10 deletions
| @@ -1,34 +1,88 @@ | |||
| 1 | # MMOSMacs | 1 | # MMOSMacs |
| 2 | 2 | ||
| 3 | MMOSMacs is the Emacs configuration for MMOS, which is currently just an | 3 | MMOSMacs is my personal Emacs configuration, but it's also the precursor to a project I'm planning, ***Elder Linux***, which will be completely based around Emacs as a desktop environment. |
| 4 | idea I have for an Emacs-centric Linux distribution. MMOSMacs is the | 4 | |
| 5 | core of my computing experience, and is designed to be a | 5 | MMOSMacs is the core of my computing experience, and is meant to be a jack of all trades, just like me. As such, this is a "kitchen sink" configuration. I make no attempt to separate my personal preferences from the main functionality. |
| 6 | jack-of-all-trades just like me. | ||
| 7 | 6 | ||
| 8 | 7 | ||
| 9 | ## Installation | 8 | ## Installation |
| 10 | 9 | ||
| 10 | ### Get the files in place | ||
| 11 | |||
| 11 | First, clone this repository into your `~/.emacs.d` directory. | 12 | First, clone this repository into your `~/.emacs.d` directory. |
| 13 | |||
| 12 | ```bash | 14 | ```bash |
| 13 | cd | 15 | git clone https://github.com/MountainMan1312/MMOSMacs.git ~/.emacs.d |
| 14 | git clone https://github.com/MountainMan1312/MMOSMacs.git .emacs.d | ||
| 15 | ``` | 16 | ``` |
| 16 | 17 | ||
| 17 | Next create symlinks to the `xinitrc` and `emacs.desktop` files so X | 18 | Next create symlinks to the `.xinitrc` and `emacs.desktop` files so X |
| 18 | knows what to do: | 19 | knows what to do: |
| 20 | |||
| 19 | ```bash | 21 | ```bash |
| 20 | # Backup your `.xinitrc` file if you feel like it. | 22 | # Backup your `.xinitrc` file if you feel like it. |
| 21 | # Replace `.xinitrc.old` with whatever you want to name the backup. | 23 | # Replace `.xinitrc.old` with whatever you want to name the backup. |
| 22 | mv .xinitrc .xinitrc.old | 24 | mv ~/.xinitrc ~/.xinitrc.old |
| 23 | 25 | ||
| 24 | # Symlink your `.xinitrc` file | 26 | # Symlink your `.xinitrc` file |
| 25 | ln -s .emacs.d/xinitrc .xinitrc | 27 | ln -s ~/.emacs.d/.xinitrc ~/.xinitrc |
| 26 | 28 | ||
| 27 | # Symlink `emacs.desktop` to add MMOSMacs as an entry to your Display | 29 | # Symlink `emacs.desktop` to add MMOSMacs as an entry to your Display |
| 28 | # Manager / login screen. | 30 | # Manager / login screen. |
| 29 | sudo ln -s .emacs.d/emacs.desktop /usr/share/xsessions/emacs.desktop | 31 | sudo ln -s ~/.emacs.d/emacs.desktop /usr/share/xsessions/emacs.desktop |
| 32 | ``` | ||
| 33 | |||
| 34 | Optionally create a symlink to the `.sbclrc` file for SBCL: | ||
| 35 | |||
| 36 | ```bash | ||
| 37 | ln -s ~/.emacs.d/.sbclrc ~/.sbclrc | ||
| 38 | ``` | ||
| 39 | |||
| 40 | ### Install necessary packages | ||
| 41 | |||
| 42 | You'll also need the following packages installed on your system. Gentoo packages are listed, you'll have to find your distro's equivalent on your own: | ||
| 43 | |||
| 44 | - app-admin/sudo | ||
| 45 | - app-dicts/aspell | ||
| 46 | - app-editors/emacs (USE="dynamic-loading gui jit libxml2 threads") | ||
| 47 | - app-emacs/emacs-common (USE="gui libxml2 X") | ||
| 48 | - app-emacs/emacs-daemon | ||
| 49 | - dev-lang/ghc | ||
| 50 | - dev-lang/rust | ||
| 51 | - dev-lang/sbcl | ||
| 52 | - dev-util/shellcheck | ||
| 53 | - dev-vcs/git | ||
| 54 | - media-fonts/jetbrains-mono | ||
| 55 | - media-fonts/noto | ||
| 56 | - net-libs/nodejs | ||
| 57 | - net-p2p/syncthing | ||
| 58 | - sys-devel/gcc (USE="jit") | ||
| 59 | - x11-apps/setxkbmap | ||
| 60 | - x11-base/xorg-server | ||
| 61 | - x11-misc/arandr | ||
| 62 | |||
| 63 | |||
| 64 | ### Setup `~/kb` and Syncthing for `org-roam` knowledgebase | ||
| 65 | |||
| 66 | Next you need to setup the `~/kb` directory, which will contain: | ||
| 67 | |||
| 68 | - `org-roam-directory` | ||
| 69 | - `org-agenda-files` | ||
| 70 | |||
| 71 | Follow [the Syncthing documentation](https://docs.syncthing.net/) and [the Gentoo Wiki entry for Syncthing](https://wiki.gentoo.org/wiki/Syncthing) to get Syncthing setup. | ||
| 72 | |||
| 73 | If you need to access the Syncthing GUI from a different computer, you can allow this by modifying `~/.config/syncthing/config.xml`. Find the following in that file: | ||
| 74 | |||
| 75 | ```xml | ||
| 76 | <gui enabled="true" tls="false" debugging="false"> | ||
| 77 | <address>127.0.0.1:40469</address> | ||
| 78 | <apikey>KoafJAnTpYxPSuywYmk9fNP2gpuVLFfb</apikey> | ||
| 79 | <theme>black</theme> | ||
| 30 | ``` | 80 | ``` |
| 31 | 81 | ||
| 82 | Change the `<address>127.0.0.1:40469</address>` part to `<address>0.0.0.0:40469</address>` to allow connections from other computers. Be sure to disable this once you've got Syncthing setup for security. | ||
| 83 | |||
| 84 | |||
| 85 | |||
| 32 | 86 | ||
| 33 | ## Plans | 87 | ## Plans |
| 34 | 88 | ||