NixOS bootstrapper that sets up my development environment on top of dwm-enhanced.
-
Use
override/directory for any local-only changes.The path must mirror the repository path exactly e.g.:
override/nixos/hosts/nimda/hardware-configuration.nixoverride/nixos/hosts/nimda/configuration.nixoverride/nixos/home/default.nixoverride/.local/bin/remote-shelloverride/.config/remote-shell/config.toml
If a matching path exists under
override/, Nix will use that path instead of the tracked file. -
Put your system-specific
hardware-configuration.nixatoverride/nixos/hosts/nimda/hardware-configuration.nix. -
(optional) Review the patches in
nixos/patchesand modify or remove any you don't need (if you remove any, you may need to update dwmblocksPatch innixos/modules/packages.nix). -
Run the flake as a local path so ignored files in
override/are visible:
# The default hostname is "nimda".
sudo nixos-rebuild switch --flake "path:$PWD#${hostname}"
To access development environment shells (like lkdev) from anywhere
on your system add this flake to your local registry.
- Register nixconf:
nix registry add nixconf "path:$path_to_nixconf"
- Launch a shell (run from any directory):
dsh $shell_name
Scripts under .local/bin that I use for my own workflow:
aodev: Lets me choose a PipeWire output device fromdmenuand sets it as default.cfreq: Watches and prints live CPU MHz values from/proc/cpuinfo.next-bg: Rotates to the next wallpaper in~/.backgrounds.remote-shell: Syncs the current local project to a configured remote host and opens an SSH shell there.www: Opens a URL directly (if input looks like a domain) or searches DuckDuckGo viadmenuinput.statusbar/*: Various scripts used fordwmblocksstatus modules.