A Nix/NixOS configured to my use-case.
Note: This configuration is forked from dlip/nixconfig-starter and configured to my use-case.
- Download the ISO and write it to a flash drive
- Install using the GUI installer or terminal
nix-shell -p git git clone https://github.com/jakehwll/nixconfig.git cd nixconfig # you can use either `wnxr-nix` or `wnxr-work` below. cp /etc/nixos/*.nix systems/wnxr-nix
- Modify the
flake.nixwhere it says "CHANGE ME" to the user you set up on installation - You can remove user specific packages since we are managing them using home-manager.
# /systems/wnxr-nix/configuration.nix packages = with pkgs; [ # firefox # kate # thunderbird ];
-
# pick between either `wnxr-nix` or `wnxr-work` below. sudo nixos-rebuild boot --flake .#wnxr-nix sudo reboot
docker-compose run --name mynix nix bash
home-manager switch --flake .#docker
Note: Be careful of running
docker system prunewhile the container is stopped since it will delete it
To restart the container after a reboot run:
docker start -i mynix
- You can search for software from this site: https://search.nixos.org/. The name of the package is the red text next to
Namein the results - Add the package to
home.packagesinhome/default.nixorhome/graphical.nixif it is GUI software - Then run:
sudo nixos-rebuild switch --flake .#nixos
-
Updates are manual, so set a calander event every Friday etc. to update your system
-
All software, including the OS is locked to the nixpkgs git version in
flake.lock, to update this run:nix flake update
-
Then run this to apply and reboot
sudo nixos-rebuild boot --flake .#nixos sudo reboot -
Once you are confident everything is working, you can remove old generations with
sudo nix-collect-garbage -d
There may be requirements for a "Display Link" device in certain configurations.
You can download the latest driver here.