Skip to content

chpxu/dotfiles

Repository files navigation

dotfiles

This repository hosts my dotfiles and configs for various applications on NixOS. Heavily WIP and continually evolving.

I will try to remember to give credits and links where possible but I'll probably forget.

Screenshots

TBD

How the repository is structured

This structure was heavily inspired, and was based on Misterio77's nix-starter-configs. This was extremely helpful in getting me to have a refactored and cleaner NixOS setup.

.
├── hm/
│   ├── common/
│   │   ├── packages/
│   │   │   └── # A set of common packages I share across my users where no configuration is required
│   │   └── modules/
│   │       └── # A set of common configurations for programs I share across my users
│   ├── chunix/
│       ├── home.nix
│       └── ...
│
├── overlays # a set of overlays
├── system/
│   ├── common/
│   │   └── # A set of common packages/configurations I share across my systems
│   ├── yoga # configuration for my Yoga C940
│   └── legion # Configuration for my Legion 5 Pro Gen 7 (WIP)
├── docs/
│   └── ... # website for dotfiles
├── Pictures/
│   └── ...
├── flake.nix
├── flake.lock
└── install.sh # OBSOLETE

Installation Instructions

This NixOS setup integrates home-manager into the system configuration so that all users can simply be updated with sudo nixos-rebuild switch .#<hostname>.

  1. Whether you're booting from scratch or not, you need git (or just have the repo locally). If you don't have git, you can temporarily invoke it with nix-shell -p git --run "git clone https://github.com/chpxu/dotfiles" and it will clone the repo into a folder called dotfiles in your present working directory.

  2. Make any necessary changes to the configuration. For example:

    • Secrets and networking. These will be invalid since they depend on SSH keys, so you will want to remove it and the configuration in system/common/modules/networking.nix.
    • Hostnames and usernames.
    • Installed programs and their settings.
  3. Make sure everything is saved. If you are intending to push to a git repo, make sure to git add . first. Then you can run sudo nixos-rebuild switch .#<hostname> or some variation to build.

You will be successful if everything you wanted installed, installs and is configured appropriately. The home-manager configuration will also be successfully built if you see home-manager.<user>.service was successfully (re)started. You can check its status with systemctl status home-manager.<user>.service.

Themes, Icons and Colour Palette

These dotfiles uses the Nord theme.

  1. The Nord colour palette.
  2. The GTK theme Nordic by @EliverLara. Follow the instructions on the page to use the GTK3/4 theme.
  3. I use the Fira Code Retina Nerd and Source Code Pro fonts. Both are TTFs.
  4. I use the Nordzy icon theme.
  5. I use Nordzy-cursors as my cursor theme.

Programs and Applications

These are the main applications and programs I use. Everything has been installed from nixos-unstable by default unless mentioned otherwise. WIP.

Applications

Environment programs

Applications or programs which affect my workspace