Skip to content

JachymPutta/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

138 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Dev Config

This is a repository to set up my personal development environment it includes nice things like:

  • Nix as the package manager
  • NeoVim as the text editor
  • Yazi terminal file manager
  • Nushell as the shell
  • Atuin to synchronize shell history across multiple machines
  • Ghostty as the terminal emulator

Install

  1. Get Nix
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
  1. Install Home manager Instructions here

Base installation (master branch):

nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
nix-channel --update
nix-shell '<home-manager>' -A install
  1. Run the setup script
    • On Linux: uncomment the #homeDirectory = "/home/username";
    • (First time)
    home-manager switch --flake .#jachym-x86 -L #x86-64 linux
    home-manager switch --flake .#jachym-aarch -L #aarch64 linux
    • (After the first time)
    update
    • On MacOS
    • (First time)
    nix run nix-darwin -- switch --flake ~/dotfiles
    • (After the first time)
    darwin

Common issues

  • unknown-terminal ghostty-xterm - terminfo needs to be updated follow here

    For ssh, run this on the host:

    infocmp -x | ssh YOUR-SERVER -- tic -x -

Project Structure

.
├── extras/
├── nix/
├── .gitignore
├── darwin.sh
├── flake.lock
├── flake.nix
└── home.nix
  • ./nix contains per-package configuration in nix
  • ./extras contains extra configuration files the programs might need
    • For example: ./extras/nvim contains the configuration for NeoVim in lua

Using this configuration

NOTE: This configuration is specific to my environment and will likely not work out of the box

If you want to use this configuration, you can fork this repository and make the following changes:

  • Replace any occurences of:
    • My name (Jachym):
      • flake.nix
      • darwin.sh
      • home.nix
      • ./nix/darwin.nix
      • ./nix/git.nix
      • ./nix/zsh.nix
      • ./nix/nushell.nix
    • My machine name in ./darwin.sh and ./flake.nix
    • My email in ./nix/git.nix
  • Adapt the keybindings in ./extras/nvim/core/mappings.lua to your liking

About

Personal dev config

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •