This is my custom linux configuration file repository. Some of the stuff here is still useful, especially on ubuntu... but now that I'm using nixos, my config setup procedure relies on fewer of these custom dot files. Below describes (a part of) my setup procedure.
TODO: write a setup.sh script that will do a headless nixos/zsh/ohmyzsh/starship/doom custom setup.
-
Clone the (custom fork of the) oh-my-zsh repository into the
~/.config
directory.git clone [email protected]:williamdemeo/ohmyzsh.git ~/.config/oh-my-zsh
-
Run the oh-my-zsh install script.
~/.config/oh-my-zsh/tools/install.sh
-
Ensure your
ZSH_CUSTOM
environment variable was set correctly.echo $ZSH_CUSTOM
It should show
~/.config/oh-my-zsh/custom
, or similar.If not, then probably something went wrong above, but for now you could try to remedy this by invoking
export ZSH_CUSTOM=~/.config/oh-my-zsh/custom
-
Add autosuggestions and syntax highlighting plugins.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM}/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM}/plugins/zsh-syntax-highlighting
-
Backup your existing
~/.zshrc
file and replace it with a link to the custom template.cp ~/.zshrc ~/.zshrc.orig ln -s ~/.config/oh-my-zsh/templates/zshrc.wjd-template ~/.zshrc
-
Change your default shell
chsh -s $(which zsh)
(You must log out from your user session and log back in to see this change.)
git clone --depth 1 [email protected]:williamdemeo/doomemacs.git ~/.config/emacs
~/.config/emacs/bin/doom install
doom sync
doom doctor # check that everything is okay
For the above to work on Mac, you likely have to install some standard programs.
For example, do some or all of the following, as necessary.
brew install niv gh rg fd shellcheck rlwrap ag
brew install --cask gcs
brew install cmake npm nodejs nvm
brew install nix
nix-env -iA nixpkgs.haskellPackages.hoogle