~jhpotter/dotfiles

Configurations for NixOS, GNU Emacs, and so on.
Initial commit

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~jhpotter/dotfiles
read/write
git@git.sr.ht:~jhpotter/dotfiles

You can also use your local clone with git send-email.

#dotfiles

This repository contains the configurations that I used on my laptop as of October 2022.

Some of the software configured:

  • NixOS and home-manager
  • Sway window manager
  • GNU Emacs with org-roam and org-agenda for notes
  • Git and Syncthing for file synchronization
  • Qutebrowser

I spent a lot of time making the fonts, colors, and keybindings all consistent across programs. The configuration files are also pretty generic and liberally commented, so I'm hoping someone will be able to use this as an inspiration or template for their own configurations.

You're free to use anything here. The Qutebrowser configuration is originally by Jay Kamat and is licensed under the GPLv3, though.

#Usage

This configuration requires the home-manager channel to be enabled. The unstable channel of NixOS is also highly recommended (since NixOS has rollbacks, you can always revert to a previous version if something breaks).

Here is an example of how to set up your channels:

# nix-channel --remove nixos
# nix-channel --add https://nixos.org/channels/nixos-unstable nixos
# nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
# nix-channel --update

Note that all these commands must be run as root, because only the channels belonging to root are applied when building the system configuration.

Once your channels are set up, customize the configuration files:

  • Set the wallpaper by creating the file img/background.jpg.
  • Change the name, username, and email variables in the .nix files to yours.

Then, symlink or copy laptop.nix to /etc/nixos/configuration.nix (or set the NIXOS_CONFIG environment variable to the path of laptop.nix) and run:

# nixos-rebuild switch --upgrade-all

This will build and apply the system configuration as well as the home-manager configuration.

#Inspirations

Some of the articles that have inspired my software choices:

Do not follow this link