## Nix Systems

Thanks for taking a look at my Nix* flake!
This config is primarily organized for my own use, you may find individual services or config useful to read, reference, and adapt for your own systems.

### Installation
You can install this flake from any system with the Nix package manager installed, including any official images.  
Disko is used to automatically format your drive according to a declared config.  
Use ``nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount ./filename.nix`` to format the disk with Disko.  
You will likely want to generate a per hardware nix file using ``nixos-generate-config --root ./ --no-filesystems``, and adapt it to fit the format of ``/hosts``, to ensure essential drivers are loaded on boot.
Once formatted and adjusted, NixOS can be installed to the mounted drive with ``nixos-install --root /mnt --flake .#host``, where ``host`` is a hostname defined in this flake.  

### Usage
Home-Manager is handled along side the system, but can be used on other systems with Nix without root.  
A rebuild of a user's home is done with ``nh home switch . -c user``, where ``user`` is defined under ``homeConfigurations`` in the flake.  

My config pirmarily uses these tools:  
``Sway`` - Window manager / Desktop  
``ZSH`` - Primary shell  
``Foot`` - Terminal emulator  
``Rofi`` - App launcher and menu system  

My server's config heavily references a git-crypt protected secrets file. These will have to be adapted and rewritten if anyone is to use my config directly.  
For my use, unlocking secrets can be done with this command:  
``gpg --pinentry-mode loopback --decrypt local.key.asc | git-crypt unlock -``

### Credits
Without the help of heavy inspiration, I would not have been able to learn and get up and running nearly as quickly. My most heavily borrowed configs are as follows:  
[CloudyChris' nix-starter-configs fork](https://github.com/CloudyChris/NixOsConfig), the very initial base of my conversion to flakes.  
[WillPower3309's personal flake](https://github.com/WillPower3309/nixos-config) for being a pleasure in the SwayFX Discord and having a really nice flake.nix file I borrowed from.  
[Jules Sommer's flake rewrite](https://github.com/jules-sommer/nix_config_rewrite) for giving me a good basis for writing individual files and repeatedly helping me throughout the entire process.  

Made with love ❤️
