Configuration files for NixOS + Home Manager.
Find a file
2023-05-14 14:57:35 +08:00
assets update readme 2023-05-07 23:31:22 +08:00
config/wezterm move to repo 2023-05-06 00:57:52 +08:00
home-manager setup raspberry pi 2023-05-13 15:55:59 +00:00
modules nix flake template 2023-04-03 22:41:22 +08:00
nixos remove hdd 2023-05-14 14:57:35 +08:00
overlays nix flake template 2023-04-03 22:41:22 +08:00
pkgs remove xmobar-config 2023-05-02 03:11:50 +08:00
.gitignore add .gitignore 2023-04-25 08:15:28 +08:00
flake.lock add local urls for testing 2023-05-09 09:23:03 +08:00
flake.nix setup raspberry pi 2023-05-13 15:55:59 +00:00
nixpkgs.nix nix flake template 2023-04-03 22:41:22 +08:00
README.md update readme 2023-05-07 23:31:22 +08:00
shell.nix nix flake template 2023-04-03 22:41:22 +08:00

NixOS & Home-Manager Configuration

nixos-logo

My NixOS and Home-Manager config files. Based upon Misterio77's starter configs.

My other configs:

Alternatively jade provides the plumbing for a desktop environment like experience.
To be used as a simple home-manager import.

This repo is often neglected and doesn't necesarrily follow best practices.
I recommend only using this repo for inspiration and instead use this boilerplate

Structure

.
├── flake.lock                          # Pinned dependencies.
├── flake.nix                           # Entrypoint for hosts and home configurations.
├── nixpkgs.nix                         # A nixpkgs instance.
├── shell.nix                           # Shell for bootstrapping.
├── assets                              # Various assets.
├── config                              # Legacy configuration files.
├── home-manager                        # Home Manager configurations.
│   ├── user.nix                        # User configuration.
│   ├── programs                        # Program configurations.
│   └── services                        # Service configurations.
├── modules                             # Modules I haven't upstreamed yet.
│   ├── home-manager                    # Reuseable Home Manager modules.
│   └── nixos                           # Reuseable NixOS modules.
├── nixos                               # NixOS configurations.
│   └── hostname                        # Directory per host.
│       ├── configuration.nix           # Server configuration.
│       └── hardware-configuration.nix  # Generated hardware configuration.
├── overlays                            # Patches and version overides.
└── pkgs                                # Custom packages.

Installation

# Clone the configuration files and link them into the NixOS directory
git clone https://github.com/sajenim/dotfiles.nix.git
ln -s ~/dotfiles.nix/ /etc/nixos

# We must be in the repo to access the flake
cd /etc/nixos

# Apply the system configuration
sudo nixos-rebuild switch --flake .#hostname

# Apply the user configuration
home-manager switch --flake .#user@hostname

FAQ

  • What is nix?
    Nix is a tool that takes a unique approach to package management and system configuration.
  • Nix benefits
    Nix is reproducible, declarative and reliable.
  • Why flakes?
    Flakes allow you to specify your code's dependencies (e.g. remote Git repositories) in a declarative way, simply by listing them inside a flake.nix file.

Credit

Boilerplate

Other Configs