This is a repository to set up my personal development environment it includes nice things like:
- Nix as the package manager
- NeoVim as the text editor
- Yazi terminal file manager
- Zsh as the shell
- Oh My Zsh as the Zsh configuration manager
- Atuin to synchronize shell history across multiple machines
- Ghostty as the terminal emulator (in closed beta right now 🤫 will have to be commmented out without access)
- Get Nix
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
-
Install Home manager Instructions here
-
Run the setup script
- On Linux: uncomment the
#homeDirectory = "/home/username";
- (First time)
home-manager switch --flake .#jachym -L
- (After the first time)
update
- On MacOS
./darwin.sh
- On Linux: uncomment the
.
├── extras/
├── nix/
├── .gitignore
├── darwin.sh
├── flake.lock
├── flake.nix
└── home.nix
./nix
contains per-package configuration in nix./extras
contains extra configuration files the programs might need- For example:
./extras/nvim
contains the configuration for NeoVim in lua
- For example:
NOTE: This configuration is specific to my environment and will likely not work out of the box
If you want to use this configuration, you can fork this repository and make the following changes:
- Replace any occurences of:
- My name (Jachym | Putta ) or any combination in:
flake.nix
darwin.sh
home.nix
./nix/darwin.nix
./nix/git.nix
./nix/zsh.nix
- My machine name in
./darwin.sh
and./flake.nix
- My email in
./nix/git.nix
- My name (Jachym | Putta ) or any combination in:
- (Optional) If you don't have access to Ghostty, comment out the
ghostty
package in./flake.nix
and./home.nix
- Adapt the keybindings in
./extras/nvim/core/mappings.lua
to your liking