Skip to content

fslef/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

779 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Dotfiles

Note

This repository houses cross-platform dotfiles managed with chezmoi 🏠.

Setup a new machine (all os)

sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply FSLEF

Key Features

  • Customized Environment: Tailored for both personal and professional use, optimized for development and Docker workflows.
  • Automated Package Management: Enjoy hassle-free installations and updates.
  • Streamlined Application Configuration: Simplifies setup to deliver a consistent experience.
  • Universal Terminal Aliases: Ensures a uniform command experience across all platforms and shells.

Development Setup

Click to expand for detailed instructions

Shell Configuration

The repository includes configuration for multiple shells to ensure a consistent experience across platforms.

Supported configuration

Shells

Terminals

Package managers

All packages are installed with Homebrew and [WIP] Chocolatey

Package list can be fould here : Packages.toml

Bitwarden CLI Setup

This repository uses the Bitwarden CLI (bw) to manage secrets in your dotfiles templates. The CLI is automatically installed during initial setup, but you'll need to authenticate.

First-Time Setup

  1. Login to Bitwarden:

    bw login your-email@example.com

    This will prompt you for your master password and generate a session token.

  2. Generate and Export Session Token:

    export BW_SESSION="$(bw unlock --raw)"

    This command unlocks your vault and exports the session token, which allows ChezMoi templates to access your secrets without additional prompts.

  3. Verification:

    chezmoi apply --dry-run

    This will show you what changes will be made without actually applying them. If your Bitwarden connection is working, you'll see rendered secrets from your vault.

Environment Setup

  • Automatic Session: The .zshrc template includes logic to automatically set BW_SESSION if you have an authenticated Bitwarden session.
  • Manual Setup: If you prefer manual control, you can set BW_SESSION in your shell profile or use a secure environment variable storage solution.
  • Session Security: Treat BW_SESSION like a password. Consider storing it in your system keychain rather than in plain text in shell configs.

Usage in Templates

Secrets in templates are accessed via ChezMoi's Bitwarden template functions. Examples:

  • {{ (bitwarden "item" "ITEM_ID").login.username }} - Get login username
  • {{ (bitwardenFields "item" "ITEM_ID").fieldName.value }} - Get custom field
  • {{ (bitwardenAttachment "filename" "ITEM_ID") }} - Get file attachment (e.g., SSH keys)

See .github/agents/ChezMoi.agent.md for detailed template examples.


Inspired by: twpayne / natelandau / renemarc

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •