Skip to content
/ dotfiles Public

☄ Maddison's dotfiles!

License

Notifications You must be signed in to change notification settings

b0o/dotfiles

Repository files navigation

dotfiles

Maddison's dotfiles, managed with Nix

Screenshot

Overview

  • Compositor: Niri
  • Terminal: Ghostty
  • Multiplexer: Zellij
  • Shell: Nushell
  • Editor: Neovim
  • Colorscheme: Lavi
  • Font: Pragmasevka Nerd Font
  • Stats:
    • 25,000+ lines of code across 200+ files
    • 14,000+ lines of Neovim config (Lua)
    • 6,000+ lines of Nushell config
    • In development since 2015, 1,350+ commits since 2018

Structure

  • config/ - Application configurations
    • Shell
      • nushell/ - structured data shell
        • Lazy hook system for shell integrations
        • Comark directory/file bookmark manager
        • Git worktree management commands
        • Nix/home-manager wrapper commands
        • Cross-platform clipboard utilities
        • Fuzzy completion with skim plugin
        • Auto-managed plugin system
      • starship.toml - shell prompt
      • atuin/ - shell history sync and search
      • carapace/ - shell completions
      • zellij/ - multiplexer
      • zsh/ - fallback shell
    • Editor
      • nvim/ - Neovim configuration
        • Fully custom config written from scratch
        • 100+ plugins managed with lazy.nvim
        • LSP with 30+ language servers
        • 500+ custom keymaps
        • blink.cmp completion
        • Telescope fuzzy finder
        • Treesitter with textobjects
        • Incline.nvim, lualine.nvim status lines
        • Neogit, Gitsigns, Diffview
        • Nvim-dap debugging, Neotest
        • Supermaven AI completion
    • Terminal
    • Desktop
      • niri/ - wayland compositor
        • Custom floating scratchpad system
        • Custom screenshot utility with history and annotations
        • Modal key menus via wlr-which-key
        • Window urgency notification daemon
        • Swayidle screen lock integration
      • mako/ - notification daemon
      • waybar/ - status bar
      • wlr-which-key/ - keybinding hints
      • rofi/ - application launcher
    • Dev Tools
      • git/ - global git configuration
      • opencode/ - AI coding assistant
    • Utilities
      • bat/ - cat with syntax highlighting
      • feh/ - image viewer
      • htop/ - process monitor
      • satty/ - screenshot annotation
      • vivid/ - LS_COLORS generator
      • zathura/ - document viewer
  • nix/ - NixOS and Home Manager configurations
  • flake.nix - Nix flake entry point
  • justfile - Task runner commands

Installation

# using my nushell helper
hm switch

# or standard home-manager command
home-manager switch --flake .#<config>

Configs:

nixos-rebuild switch --flake .#<host>

Hosts:

  • boonix - desktop workstation with ZFS
# using my nushell helper
fp switch

# or standard command
nix run .#<profile>.switch

Profiles:

  • dev - full development environment
  • minimal - base packages only

Standalone

Symlink configs manually with GNU Stow:

just stow

License

MIT

Sponsor this project