My flake files which I use to manage my local and remote machines https://git.disroot.org/Zonsopkomst/flake
Go to file
zonsopkomst fbcf376308 added mumble 2023-03-20 17:45:20 -05:00
common fixed waydroid 2023-03-18 21:10:13 -05:00
config hyprland monitor edit 2023-03-18 21:23:39 -05:00
desktop update 2023-03-18 21:17:33 -05:00
display testing 2023-02-12 10:06:56 -06:00
hosts hm update 2023-03-19 23:58:16 -05:00
reference added armcord & mumble 2023-03-20 16:48:17 -05:00
users added mumble 2023-03-20 17:45:20 -05:00
.directory Cleaned and compartmentalized files & hierarchy 2023-01-18 16:53:08 -06:00
LICENSE.md Added 2023-01-31 09:02:24 -06:00
README.md rearranged 2023-03-20 14:09:07 -05:00
flake.lock update 2023-03-19 19:59:43 -05:00
flake.nix indentation 2023-03-19 16:25:46 -05:00

README.md

My NixOS Configuraton File

This is my NixOS with home-manager config structure using nix flakes

Current Desktop Screenshot

Gnome Gnome

Highlights:

  • Multiple NixOS configurations: desktop, laptop, and hopefully transition my Ubuntu server over soon!

How to

Process
Source: South Park

  1. NixOS
    1. Install NixOS on a Machine. I use the default Gnome installer from https://nixos.org/download.html.
    2. Copy the configuration.nix and hardware-configuration.nix files from the /etc/nixos directory
      1. I rename configuration.nix to default.nix and link to the appropriate modules under flake.nix
    3. Create a hosts directory on git for the new machine and either use an existing users or create a new one
  2. home-manager
    1. See https://github.com/nix-community/home-manager for manual and configuration options
    2. Remember to add unstable channel (in this case) in the terminal:
    3. sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
    4. sudo nix-channel --update
    5. Include <home-manager/nixos> in "Imports" section above
  3. Declare desktop, kernals & RAM, modules, host & user specific items, and home-manager in flake.nix
  4. Declare packages either globally under /hosts/<location>/hostname/packages.nix or /users/<username>/home-manager.nix
  5. Maintenance
    1. See /config/.bashrc for alias using nixos-rebuild --flake .#<hostname> commands and other useful items

Structure

Directory What is it for?
common Shared configurations and modules
config Config files that are managed by NixOS
desktop Shared desktop configs
display Login Display managers
hosts The PCs deployed
reference Package list, git assets, notes, etc.
users Individual User configs
flake.nix & flake.lock Declared configuration using the above directories & configs

Hosts

Hostname Model Type RAM Processor Main Use
weda Dell Inspiron 15 Laptop 16GB AMD Ryzen 5 Business
frija Acer Aspire 3 Laptop 4GB ?? Testing
tyr Intel i5 Desktop 16GB i5 Media
tuisto AMD Ryzen 5 Desktop 16GB Remote
TODO AMD Ryzen 5 Server ??GB 2200G Test Server