Skip to content

eth-p/my-dotfiles

Repository files navigation

my-dotfiles

My configuration management solution based on Nix and home-manager.

Options

See OPTIONS.md.

Usage

Directly

Installation:

./bootstrap

Updates:

git pull
my-dotfiles
Or, manually.
cd /path/to/my-dotfiles
git pull

cd ~/.local/my-dotfiles/config
profile=standard
nix flake update
nix shell 'home-manager' --command 'home-manager' switch --flake "path:.#${profile}"

As a Flake

My dotfiles flake can also be used as a library, allowing for separate configurations in private repositories.

{
  description = "My config.";

  inputs = {
    nixpkgs.url = "nixpkgs/nixos-24.11";
    nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
    my-dotfiles = {
      url = "github:eth-p/my-dotfiles";
      inputs.nixpkgs.follows = "nixpkgs";
      inputs.nixpkgs-unstable.follows = "nixpkgs-unstable";
    };
  };

  outputs = { self, my-dotfiles, ... }: {

    homeConfigurations."me@machine" = my-dotfiles.lib.home.mkHomeConfiguration {
      system = "aarch64-darwin";
      modules = [
        {
          home.username = "me";
          home.homeDirectory = "/home/me";
          home.stateVersion = "24.11";

          # Program config goes here.
          my-dotfiles.fish.enable = true;
        }
      ];
    };

  };
}

About

A collection of dotfiles that I use to configure my terminal programs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published