My flake files which I use to manage my local and remote machines https://git.disroot.org/Zonsopkomst/flake
Find a file
2024-07-26 09:46:05 -05:00
common Disabled sound 2024-07-18 13:41:16 -05:00
config Playing with hyprland.conf 2024-07-20 11:14:24 -05:00
desktop Gnome cleanup 2024-07-04 14:18:38 -05:00
display File Cleanup 2024-03-29 21:18:25 -05:00
Gnucash Notes File Cleanup 2024-03-29 21:18:25 -05:00
hosts Ignore locking when laptop lid closed 2024-07-23 12:19:32 -05:00
reference Added ascii-draw 2024-07-23 12:20:52 -05:00
users Attempting emote instead of smile due to wayland, supposedly copies to clipboard 2024-07-25 16:22:15 -05:00
.directory Cleaned and compartmentalized files & hierarchy 2023-01-18 16:53:08 -06:00
.gitignore flake.lock edit 2024-05-26 12:55:55 -05:00
.Rhistory clean up 2023-03-25 20:36:54 -05:00
flake.lock Updated, removed rustdesk due to build fail 2024-07-20 11:35:50 -05:00
flake.nix Attempt to enable hyprland 2024-07-18 13:39:19 -05:00
LICENSE.md Added 2023-01-31 09:02:24 -06:00
README.org Updated README 2023-11-29 19:54:32 -06:00

Flake Readme

My NixOS Configuraton File

This is my NixOS setup to manage multiple computers with a home-manager config structure using nix flakes.

Current Desktop Screenshots:

Gnome

https://git.disroot.org/Zonsopkomst/flake/raw/branch/working/reference/assets/20231102NixOSTyr3.png

Emacs

https://git.disroot.org/Zonsopkomst/flake/raw/branch/working/reference/assets/20231102NixOSTyr.png

Highlights:

Multiple NixOS configurations: desktop, laptop, and hopefully a test server and eventually a full transition over from my Ubuntu server.

How to:

https://git.disroot.org/Zonsopkomst/flake/raw/branch/working/reference/assets/underpants-gnomes.png

  1. NixOS Installation

    1. Install NixOS on a computer using the default Gnome installer from [https://nixos.org/download.html].
    2. Clone this repository [https://git.disroot.org/zonsopkomst] in the `/home/<username>/ directory.
    3. Update the subdirectories in `hosts` and `users`.

      1. Copy the `configuration.nix` and `hardware-configuration.nix` files from the `/etc/nixos` directory and move them to `hosts/PLACE(local OR remote)/NEW_PC_NAME`.
      2. Rename `configuration.nix` to `default.nix` and, update `flake.nix` located in the top directory, link the appropriate modules to be used.
      3. Segment out items from new `default.nix` to appropriate `.nix` files.
      4. Make sure the correct version of NixOS is listed in the appropriate files.
    4. `flake.nix` is where `.nix` files are imported with further instructions on declared packages and modules.

      1. Declare packages either globally under `/hosts/<location>/hostname/packages.nix` or `/users/<username>/home-manager.nix`.
    5. Rebuild NixOS (<hostname> must be include the first time rebuilding, after the first rebuild, .# can be used and the system will know which hostname is to be used)

      1. `nix flake update && nixos-rebuild switch flake .#<hostname>`
    6. Push the updated git files to the repository so that they can be pulled, and the system rebuilt during the next update.

Maintenance

  1. See `/config/.bashrc` for `alias`: `flkup` using `sudo nixos-rebuild switch 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 (Cezanne) Business
frija Acer Aspire 3 Laptop 4GB AMD A9 Testing
tyr Intel i5 Desktop 16GB Intel i5 Media
tii Dell Lattitude 5511 Laptop 16GB Intel i5 Quad (i5-10400H) Remote
tuisto AMD Ryzen 5 Desktop 16GB AMD Ryzen 5 (Renoir) Remote
sintanne Intel i5 Desktop 16GB Intel i5-11320H Remote
thuner AMD Ryzen 5 Server ??GB AMD 2200G Test Server
fryslan (Ubuntu) AMD Ryzen 5 Server ??GB AMD 2200G Main Server