Giter Site home page Giter Site logo

dotfiles's Introduction

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";
    dotfiles-utils = {
      url = "github:tracteurblinde/dotfiles-utils";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
  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 dotfiles-utils.generateUser which will also initialize git
      #   and setup the account picture and desktop background.
      "<userB"> = dotfiles-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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.