dotfiles icon indicating copy to clipboard operation
dotfiles copied to clipboard

Personal configuration files for my PC

viperML/dotfiles

check

🗒 About

These are my personal configuration files for my Linux and Windows machines. Feel free to grab anything that you find interesting.

Desktop screenshot

A nix flake is provided, whith NixOS and home-manager configurations.

You can directly reference this flake and import it into your NixOS configuration, but you may want to copy code snippets instead.

  • modules: common pieces of NixOS or Home-manager configuration
  • hosts: host-specific configuration
  • packages: package definitions (see next section)
  • lib: utility functions.
  • bin: various scripts
  • misc: anything else
  • misc/img: a look into the past

💾 Resources

Other configurations from where I learned and copied, in no particular order:

📦 Exported packages

Run packages directly with:

nix run github:viperML/dotfiles#packageName
# Or bring your own nixpkgs
nix run --inputs-from <flakeref> github:viperML/dotfiles#packageName

Or install from the packages output. For example:

# flake.nix
{
  inputs.viperML-dotfiles.url = "github:viperML/dotfiles";
  # Override my nixpkgs, binary cache will have less hits
  inputs.viperML-dotfiles.inputs.nixpkgs.follows = "nixpkgs";
}

# configuration.nix
{ pkgs, inputs, ... }:
{
  environment.systemPackages = [
    inputs.viperML-dotfiles.packages."x86_64-linux".packageName
  ];
}

A package cache is provided:

# configuration.nix
{...}: {
  nix.settings = {
    extra-substituters = "https://viperml.cachix.org";
    extra-trusted-public-keys = "viperml.cachix.org-1:qZhKBMTfmcLL+OG6fj/hzsMEedgKvZVFRRAhq7j8Vh8=";
  };
}