mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-11-22 16:23:57 +01:00
My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.
bin | ||
dotfiles | ||
etc | ||
external | ||
grub | ||
help | ||
install | ||
lib | ||
serv | ||
src | ||
.gitignore | ||
.travis.yml | ||
build.sh | ||
install.sh | ||
LICENSE.md | ||
README.md |
New Start
Vim is my editor, *nix is my IDE.
TODO: Put images here
New Start is built on top of Arch GNU/Linux and consists of my dotfiles, install scripts, help files, and custom software.
Before You Begin
- Linux is not an operating system. 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.
- Arch GNU/Linux is rolling-release. You will always have the latest software. There is no such thing as having to install a new version of Arch.
- Free software gives you complete control over your computing. 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".
- 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. Don't overcomplicate things.
Design Goals
- 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.
- Reproducability. It should be trivial to reproduce your previous environment from a fresh install.
- 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.
Getting Started
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 serverdotfiles/
- All the dotfiles used to configure the systemetc/
- Other config files that don't exactly have definite pathsuserChrome.css
- A bare-minimum browser that emphasizes keyboard usage
grub/
- A nice theme for grubhelp/
- All the important things I want to remember when using my systemvim.md
- A complete reference to everything I know (and find worth mentioning) about vim
src/
- Small programs I use to handle my specific needs
Summary of the other directories:
bin/
- Output directory for compiled binaries fromsrc
docs/
- Output directory for compiled documentation fromsrc
external/
- Also known as "not my files", these files reside in the external directory so they don't count towards GitHub's language algorithminstall/
- Scripts to automate installing the system with the Arch ISOpackages.sh
- All of the packages I use (and why) from the official repos
lib/
- Output directory for the libraries used bysrc
spec/
- Tests for the files insrc
to make sure that nothing breaks
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!