Nix noob trying to build his system
Find a file
2023-05-20 20:45:29 -05:00
system This didn't work, but adding it for archival needs 2023-05-13 20:44:08 -05:00
user Got pokemon-colorscripts working too! 2023-05-20 20:45:29 -05:00
flake.lock Updated system and added rust-overlay 2023-05-20 19:58:07 -05:00
flake.nix Added rust + compiled ytsub! 2023-05-20 19:58:54 -05:00
LICENSE Add LICENSE 2023-04-22 20:48:09 +00:00
README.org Added phoenix gc and updated readme for flakes 2023-05-19 21:03:38 -05:00

NixOS Config

Main Repo Link (GitLab)

Mirror Repo Link (GitHub)

What is this repository?

While I still run Arch btw, I've been experimenting with NixOS and quite like it! My configuration is not ready for daily use yet, but I'm learning inside a VM. This repository is where I'm working on my NixOS dotfiles, and once ready, I will daily drive Nix btw instead.

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

Then, 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