| system | ||
| themes | ||
| user | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.org | ||
NixOS Config
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 syncto build and switch system and home configurationphoenix sync systemto build and switch only system configurationphoenix sync userto build and switch only home configuration
phoenix updateto update flake inputs-
phoenix gcto 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
fullis given, it deletes all previous generations