# 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 `.nixosModules.hyprland`._ - [Hyprland home-manager configuration](/modules/hyprland/README.md#configuration) - _Accessed through `.homeManagerModules.hyprland`._ - [Emacs home-manager configuration & dotfiles](/modules/emacs/README.md) - _Accessed through `.homeManagerModules.emacs`_ - [Neovim home-manager configuration & dotfiles](/modules/neovim/README.md) - _Accessed through `.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)._ [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/