mirror of
https://github.com/donovanglover/nix-config.git
synced 2025-02-23 05:00:55 +01:00
Reorganize README.md and test relative links
This commit is contained in:
parent
f99cb6ca14
commit
fb8417be0b
47
README.md
47
README.md
@ -4,34 +4,32 @@
|
|||||||
|
|
||||||
TODO: Put images here
|
TODO: Put images here
|
||||||
|
|
||||||
## Table of Contents
|
New Start is built on top of [Arch GNU/Linux](https://www.archlinux.org/) and consists of my [dotfiles](dotfiles/), [install scripts](install/), [help files](help/), and [custom software](src/).
|
||||||
|
|
||||||
- [A Brief History](#a-brief-history)
|
## Before You Begin
|
||||||
- [Design Goals](#design-goals)
|
|
||||||
- [Usability Goals](#usability-goals)
|
|
||||||
- [Getting Started](#getting-started)
|
|
||||||
- [Contributing](#contributing)
|
|
||||||
|
|
||||||
## A Brief History
|
1. [Linux is not an operating system](https://www.gnu.org/gnu/linux-and-gnu.html). It is simply a kernel used as part of an operating system. Do not say that you use "Linux"; rather, you use the GNU system with Linux, or GNU plus Linux. All the so-called Linux distributions are actually distributions of GNU/Linux.
|
||||||
|
2. [Arch GNU/Linux is rolling-release](https://wiki.archlinux.org/index.php/Arch_Linux). You will always have the latest software. There is no such thing as having to install a new version of Arch.
|
||||||
|
3. [Free software gives you complete control over your computing](https://www.gnu.org/philosophy/free-sw.html). If something doesn't work, it's more often than not user error. You no longer have the luxury of blaming your computer for "not working".
|
||||||
|
4. [Keep it simple](https://en.wikipedia.org/wiki/KISS_principle). At the end of the day, you only need to use your computer for a few specific tasks, such as listening to music, writing software, sending messages, and using the internet. Don't overcomplicate things.
|
||||||
|
|
||||||
Some important things to note:
|
## Design Goals
|
||||||
|
|
||||||
1. Linux is not an operating system. It is simply a kernel used as part of an operating system. All the so-called Linux distributions are actually distributions of GNU/Linux.
|
1. **Simplicity.** It should be trivial to find and edit the things you're looking for; to get things done. Once mastered, the interface should not get in the way. Everything just works.
|
||||||
2. Arch is rolling release. You will always have the latest software. There is no such thing as "updating to the next version of Arch".
|
2. **Reproducability.** It should be trivial to reproduce your previous environment from a fresh install.
|
||||||
3. Keep it simple. At the end of the day, you only need to use your computer for a few specific tasks, such as listening to music, writing software, sending messages, and using the internet.
|
3. **Universality.** Interaction with the system should be consistent, using similar keybindings, fonts, and looks. Using the terminal as opposed to click-point windows allow for minimum configuration and maximum universality.
|
||||||
4. You have complete control over your software. There is no need to insult your computer. If something doesn't work, it's more often than not user error.
|
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
Stuff you may want:
|
I did my best to make the configuration self-documenting. You should be able to go through the files and understand how they work.
|
||||||
|
|
||||||
- `app/` - All the files used to run my local server
|
- `app/` - All the files used to run my local server
|
||||||
- `dotfiles/` - All the dotfiles used to configure the system
|
- `dotfiles/` - All the dotfiles used to configure the system
|
||||||
- `etc/` - Other config files that don't exactly have definite paths
|
- `etc/` - Other config files that don't exactly have definite paths
|
||||||
- `userChrome.css` - A bare-minimum browser that emphasizes keyboard usage
|
- [`userChrome.css`](etc/userChrome.css) - A bare-minimum browser that emphasizes keyboard usage
|
||||||
- `grub/` - A nice theme for grub
|
- `grub/` - A nice theme for grub
|
||||||
- `help/` - All the important things I want to remember when using my system
|
- `help/` - All the important things I want to remember when using my system
|
||||||
- `vim.md` - A complete reference to everything I know (and find worth mentioning) about vim
|
- [`vim.md`](help/vim.md) - A complete reference to everything I know (and find worth mentioning) about vim
|
||||||
- `src/` - Small programs I use to handle my specific needs
|
- `src/` - Small programs I use to handle my specific needs
|
||||||
|
|
||||||
Summary of the other directories:
|
Summary of the other directories:
|
||||||
@ -44,21 +42,6 @@ Summary of the other directories:
|
|||||||
- `lib/` - Output directory for the libraries used by `src`
|
- `lib/` - Output directory for the libraries used by `src`
|
||||||
- `spec/` - Tests for the files in `src` to make sure that nothing breaks
|
- `spec/` - Tests for the files in `src` to make sure that nothing breaks
|
||||||
|
|
||||||
## Design Goals
|
|
||||||
|
|
||||||
1. **Simplicity.** It should be trivial to find and edit the things you're looking for; to get things done. Once mastered, the interface should not get in the way.
|
|
||||||
2. **Reproducability.** It should be trivial to reproduce your previous environment from a fresh install.
|
|
||||||
3. **Universality.** All functionality should be handled through the terminal.
|
|
||||||
|
|
||||||
## Usability Goals
|
|
||||||
|
|
||||||
1. **Configuration is self-documenting.** It is trivial for someone to view and understand how the dotfiles work.
|
|
||||||
2. **Everything just works.** The configuration is simple enough that the possibility for edge cases are extremely limited.
|
|
||||||
|
|
||||||
The default wallpaper is [Arch Adapta](https://www.reddit.com/r/UnixWallpapers/comments/71lcxo/). The [original](https://github.com/adapta-project/adapta-backgrounds) was made by [Tista](https://github.com/tista500) and is released under the [Creative Commons Share-Alike 3.0](https://creativecommons.org/licenses/by-sa/3.0/) license.
|
|
||||||
|
|
||||||
By default I keep track of the many useful commands and other features I use on a daily basis. Please not that these are not a replacement for reading the man pages of said software.
|
|
||||||
|
|
||||||
One thing that always annoyed me was viewing the dotfiles of other people. Many people leave all the default settings in their dotfiles, when the same exact settings are going to be sourced anyway before calling the config file. Your dotfiles should only have what you're changing and nothing else.
|
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
This is a big project; I may have let some things slip through such as typos or other errors. If you want to improve the help files or other parts of the project then please file an issue first. Pull requests are accepted, but I'd prefer if you made an issue first!
|
||||||
|
Loading…
Reference in New Issue
Block a user