linuxware/README.md

68 lines
2.9 KiB
Markdown

# linuxware
This repository contains the configuration of my main Linux based system(s), currently this repository consists of a
[NixOS] system configuration alongside [dotfiles] generated by [Home Manager] and [dotfiles] maintained by me.
## Navigation guide
In this section I will detail how you can navigate and make the most use out of my configuration.
### File structure
- [`flake.nix` & `flake.lock`](#flake)
- _This is the "entry-point" of the [NixOS] configuration._
- [`hosts/`](/hosts/)
- _Inside you can find the per-system customizations I've made._
- [`modules/`](/modules/)
- _These contain the modules I export in the [flake](#flake)._
- [`packages/`](/packages/)
- _Encompasses the packages I maintain outside or in tandem with [nixpkgs]._
- [`shared/`](/shared/)
- _The [NixOS] and [Home Manager] configuration that's shared across hosts._
- [`assets/`](/assets/)
- _All media used in this configuration or shown inside READMEs._
> _Be sure to click the hyperlinks for the relevant documentation._
#### Flake
A flake basically contains what you want to consume in your environment and what you want to export to be consumed, on
top of having a lockfile to pin the versions of what you are consuming.
Personally, the best way to learn how to use it as a beginner is the [Unofficial NixOS & Flakes
Book](https://nixos-and-flakes.thiscute.world/). I will not explain how to configure or use my flake as that would be
lenghty.
I export four modules that you can use in your configuration:
- [Hyprland NixOS configuration](/modules/hyprland/README.md)
- _Accessed through `<linuxware>.nixosModules.hyprland`._
- [Hyprland home-manager configuration](/modules/hyprland/README.md#configuration)
- _Accessed through `<linuxware>.homeManagerModules.hyprland`._
- [Emacs home-manager configuration & dotfiles](/modules/emacs/README.md)
- _Accessed through `<linuxware>.homeManagerModules.emacs`_
- [Neovim home-manager configuration & dotfiles](/modules/neovim/README.md)
- _Accessed through `<linuxware>.homeManagerModules.neovim`._
> _Be sure to click the hyperlinks for the relevant documentation._
To facilitate on-boarding, once you've set-up the experimental features needed for flakes I have provided a template
with this repository for you to use; it comes with a [NixOS] system configuration, [Home Manager] configuration
alongside the modules that I provide.
All you have to do is enter the directory you want your configuration to reside and execute
`nix flake init -t github:wizardlink/linuxware`. Be sure to read the `README.md` file!
## Desktop screenshot
![image](/assets/screenshots/full-system.png)
> _All screenshots of the system and it's components are available [here](/assets/README.md)._
<!-- REFERENCES -->
[dotfiles]: https://wiki.archlinux.org/title/Dotfiles
[home manager]: https://github.com/nix-community/home-manager
[nixos]: https://nixos.org/
[nixpkgs]: https://github.com/NixOS/nixpkgs/