Skip to content

Tracteur's nix flakes based dotfiles

Notifications You must be signed in to change notification settings

tracteurblinde/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tracteur's dotfiles

Auxolotl/Lix flake based dotfiles. This configuration has been cobbled together from a variety of sources. It's a beautiful mess.

Hosts

  • aurora - Microsoft Surface Laptop Studio 2021
  • spartanfall - Desktop PC (Intel i9-12900K + AMD 6900XT)

Setup

dotfiles-private

The dotfiles-private flake separates out the private configuration from the public configuration. This is useful for things like usernames, emails, and other private information. Don't use it for secrets like passwords or keys.

A minimalist example dotfiles-private
{
  description = "Private dotfiles";
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  };
  outputs = { ... } :
  let
    pkgs = import <nixpkgs> {};
  {
    users = {
      "<userA>" = {
        nixosConfig = {
          isNormalUser = true;
          description = "<Display Name>";
          extraGroups = [ "networkmanager" "video" "audio" "wheel" "adbusers" "libvirtd" ];
        };
        homeConfig = {
          home.username = "<username>";
          home.homeDirectory = "/home/<username>";
        };
      };
      # Or use utils.generateUser which will also initialize git
      #   and setup the account picture and desktop background.
      "<userB"> = utils.generateUser rec {
        inherit pkgs;
        name = "<Display Name>";
        username = "<username>";
        email = "<email>";
        groups = [ "wheel" ];
        hosts = [ "<host>" ];
        face = ./face.png;
        background = ./background.png;
      };
    };
    hosts = {
      "<host>" = {
        role = "desktop";
        config = import ./hardware_configuration.nix;
      };
    }
    homeCommon = {};
    nixosCommon = {};
  };
}

nixos

Root will need to be able to login to private repos.

sudo ln -s <path/to>/dotfiles /etc/nixos 
sudo nix run nixpkgs#sbctl create-keys
sudo nixos-rebuild boot --flake '.#<host>'

home-manager

Home manager uses the same flake but is not configured as a nixos module.

ln -s <path/to>/dotfiles ~/.config/home-manager 
home-manager switch --flake '.#<user>@<host>'

Manual Theming

In general, everything is themed with the Mocha Catppuccin theme using the Mauve accent.

Manual Configuration

  • Use protonup-qt to configure Proton-GE with Steam.
  • chatterino requires manual configuration of the auth token and tab layout for the streamers you follow.
  • talon requires pulling the community config, following the instructions from talonhub/community.

Usage

nix flake update # Update the flake
sudo nixos rebuild switch # Build and switch to the new configuration
home-manager switch # Switch the user configuration

Todo:

Known Issues

  • Missing Shortcuts. These must be run manually. (alt+f2)
    • Cura cura
    • Path of Building pobfrontend

Missing Configuration

  • chatterino
    • Auth isn't separated into another file
  • input-leap
  • Fluent Reader
  • Librewolf
  • streamlink
    • this setup might just be the chatterino setup to embed the auth token. May end up as a manual step.
  • Talon Voice
    • Talon wants write access to the configuration files :/
  • Vencord configuration
    • Theme: https://catppuccin.github.io/discord/dist/catppuccin-mocha-mauve.theme.css
    • Currently using cloud sync, but it'd be nice to codify it in nix

Scratch

About

Tracteur's nix flakes based dotfiles

Resources

Stars

Watchers

Forks