_readme needs updating, will get to it soon _
hix: NixOS configuration files
fst: first layer: core tools. right now this is: neovim, wezterm, git & fish.
git: git confighim: neovim config
snd: secondary layer: tools that don't fit into core. their dotfiles are here
kmonad: an amazing keyboard remapping utility! also, it's written in haskell :)AwesomeWM: currently testing out as my window manager pick
- install NixOS
- enable flakes and set hostname
- add
nix.settings.experimental-features = [ "nix-command" "flakes" ];to/etc/nixos/configuration.nixand change the hostname on the linenetworking.hostName = "<HOSTNAME-GOES-HERE>"; # Define your hostname. - save and rebuild with
sudo nixos-rebuild switch. then reboot
- add
- installing home manager
- add home manager channel by running
nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz home-managerand thennix-channel --update(might need to change out the home-manager release from 24.05 to unstable or whichever channel is being used) - reboot
- run
nix-shell '<home-manager>' -A installto install home manager standalone
- add home manager channel by running
- personally I like to drop into a shell with some of my favorite utilities to do the rest
nix-shell -p neovim fish zoxide fzf eza git just --run "fish" git clonethis repo- make a new folder
dotfiles/hix/machines/<HOSTNAME-GOES-HERE>/in this repo and copy/etc/nixos/hardware-configuration.nixinto it - make a new file
dotfiles/hix/machines/<HOSTNAME-GOES-HERE>/bootloader.nixand copy the bootloader code from/etc/nixos/configuration.nixinto it- here's an ezxample
# bootloader.nix content: { config, pkgs, ... }: { boot.loader.grub.enable = true; boot.loader.grub.device = "/dev/nvme0n1"; boot.loader.grub.useOSProber = true; }
- here's an ezxample
- edit the
sysSettings.hostnameindotfiles/hix/flake.nix:sysSettings = { system = "x86_64-linux"; hostname = "<HOSTNAME-GOES-HERE>"; # ... more code ... };
- run
just purge && just switch