nixos-config/README.org

2.3 KiB

NixOS Config

Main Repo Link (GitLab)

Mirror Repo Link (GitHub)

What is this repository?

These are my dotfiles (configuration files) for my NixOS setup(s).

Here is my main setup: /byteio/nixos-config/media/commit/a97efbc391d58f7e240ba1ced3042f4b1b346598/themes/ayu-dark/ayu-dark.png

Notes for Myself

To get this running on a NixOS system, I will start by cloning the repo:

git clone https://gitlab.com/librephoenix/nixos-config.git /path/to/my/config/folder

To get the hardware configuration on a new system, I can other copy from /etc/nixos/hardware-configuration.nix or run:

sudo nixos-generate-config --dir /dotfiles/path/system

Then, I can switch into the system configuration by running:

cd /dotfiles/path
sudo nixos-rebuild switch --flake .#snowfire

Home manager can be installed with:

nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
nix-channel --update
nix-shell '<home-manager>' -A install

If home-manager starts to not cooperate, it may be because the unstable branch of nixpkgs is in the Nix channel list. This can be fixed via:

nix-channel --add https://nixos.org/channels/nixpkgs-unstable

Home-manager may also not work without re-logging back in after it has been installed.

Once home-manager is running, my home-manager configuration can be installed with:

home-manager switch --flake .#emmet

This loads in my convenience script phoenix, which replaces frequently used nix and nixos commands with more user friendly ones, namely:

  • phoenix sync to build and switch system and home configuration

    • phoenix sync system to build and switch only system configuration
    • phoenix sync user to build and switch only home configuration
  • phoenix update to update flake inputs
  • phoenix gc to garbage collect

    • If no argument is given, it cleans anything older than 30 days
    • If a time argument is supplied (i.e. 10d), it cleans stuff older than that (10 days in this example)
    • If the argument full is given, it deletes all previous generations