Here is my NixOS configuration.
Some steps are required before installing NixOS.
- Follow the instructions in NixOS-WSL.
- Use
MesloLGS NFandNordin Windows Terminal.-
Install the MesloLGS NF font.
-
Add Nord colorscheme to Windows Terminal.
{ "background": "#2E3440", "black": "#3B4252", "blue": "#81A1C1", "brightBlack": "#3B4252", "brightBlue": "#5E81AC", "brightCyan": "#88C0D0", "brightGreen": "#A3BE8C", "brightPurple": "#B48EAD", "brightRed": "#BF616A", "brightWhite": "#E5E9F0", "brightYellow": "#EBCB8B", "cursorColor": "#E5E9F0", "cyan": "#88C0D0", "foreground": "#E5E9F0", "green": "#8FBCBB", "name": "Nord", "purple": "#B48EAD", "red": "#BF616A", "selectionBackground": "#E5E9F0", "white": "#4C566A", "yellow": "#EBCB8B" }
-
- Install nix.
- Install nix-darwin.
- Install docker.
The macOS built-in terminal has some customization limitations, so it is not used. We use Kitty to replace it. Here is the configuration.
Set up git and ssh keys.
nix-shell -p git <other packages you need> # use any method you like to set up `ssh` keysInstall the NixOS configuration.
# MacOS
# If you have the problem, follow this: https://github.com/nix-darwin/nix-darwin?tab=readme-ov-file#step-2-installing-nix-darwin
sudo darwin-rebuild switch --flake github:mikojs/nixos-config#<system name>
# Others
nixos-rebuild switch --flake github:mikojs/nixos-config#<system name> --sudo
# Run `initialize` command manually
# It will automatically run when you reopen the terminal
initializeCurrently, only gemini and claude are supported. Run the commands and authorize them manually according to your settings.
# If you encounter issues with the dressing UI, run this command:
:lua require("dressing").setup({ select = { enabled = false }})
:Codeium AuthHere are the specific packages for each language supported by this flake.
This flake also provides support for these languages within nvim-treesitter, nvim-cmp, and conform.nvim.
- Add a new language file to
./home-manager/languages/. - Neovim
- (Optional) Add a new language file to
./home-manager/neovim/languages/. - Add a new language configuration to
./home-manager/neovim/nvim-treesitter.nix. - Add a new language file to
./home-manager/neovim/nvim-cmp/. - Add a new language file to
./home-manager/neovim/conform-nvim/.
- (Optional) Add a new language file to
If the new language is a database language, please refer to this section first.
Common database packages, plugins and configurations are provided in the db files.