NOTE: This setup has only been tested on macOS so far. If you need it on any other architecture/OS, talk to Johannes and we’ll adapt it accordingly.
- Install the Nix package manager
- On the target system, clone this repository to
~/.config/home-manager
, for instance:
mkdir -p ~/.config
git clone https://github.com/active-group/nix-starter-kit ~/.config/home-manager
cd ~/.config/home-manager
cp user-settings.nix.template user-settings.nix
- Edit
user-settings.nix
- To configure “modules” like Emacs,
zsh
, or others, check the README files in their respective subdirectories - Run
./bootstrap.sh
(this just enables Flakes support for Nix by changing a configuration file, and then useshome-manager
to install the first version of your system) - For new people: Create or add an SSH key pair and make sure access to our GitLab is working. If you already have one set up, there is nothing for you to do.
- If you wish to use LaTeX with batteries included, then you need to clone the
howto
repository to~/howto
. If you already have a working LaTeX setup, you don’t need to change anything.
On https://search.nixos.org/packages you can search for packages you’d like to
have available on your system. Add those packages to your user-settings.nix
in
the respective list.
To “activate” a new configuration, always execute
home-manager switch
The file message.template contains a template for the message you wish to be
shown. Create a copy of this file named message
:
cp ./sieve/message.template ./sieve/message
Now edit it according to your preferences and personal details. To then activate the notification, execute
./sieve/sieve.sh activate
Note: you will be asked for you IMAP/Sieve username (only) on first use. This is your mail address, not your LDAP user name.
To deactivate the notifications, execute
./sieve/sieve.sh deactivate
Run this in the shell
cd ~/.config/home-manager
git pull
home-manager switch
Check:
https://github.com/NixOS/nixpkgs/branches
Go to the desired release branch. nixpkgsRev
is latest commit of this branch.
If you change the release channel, update stateVersion
.