hix
: NixOS configuration files
fst
: first layer: core tools. right now this is: neovim, wezterm, git & fish.
git
: git confighez
: wezterm confighim
: neovim confighish
: fish 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.nix
and 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-manager
and 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 install
to 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 clone
this repo- make a new folder
dotfiles/hix/machines/<HOSTNAME-GOES-HERE>/
in this repo and copy/etc/nixos/hardware-configuration.nix
into it - make a new file
dotfiles/hix/machines/<HOSTNAME-GOES-HERE>/bootloader.nix
and copy the bootloader code from/etc/nixos/configuration.nix
into 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.hostname
indotfiles/hix/flake.nix
:sysSettings = { system = "x86_64-linux"; hostname = "<HOSTNAME-GOES-HERE>"; # ... more code ... };
- run
just purge && just switch