Skip to content

nynepebbles/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

"There's no place like $HOME"

Dotfiles

A set of reproducible configuration files for a Linux desktop and developer environment, built around NixOS with a curated list of programs and tools. Intended to be lightweight, visually clean, and easy to tweak.

Features

Here's a breakdown of the main software I use and configure in this repository:

Component Software Description
OS NixOS Declarative package management and system configuration
Window Manager Hyprland Modern Wayland compositor with smooth animations
Dotfile Manager Chezmoi Secure and flexible dotfiles management
Theming Engine Pywal Dynamic color scheme generation from wallpapers
Bar / Widgets Eww ElKowar's Wacky Widgets for custom status bars
Shell Fish Shell Smart and user-friendly command line shell
Editor Neovim (AstroNvim) Extensible text editor with modern features
Launcher Rofi Application launcher and dmenu replacement

Workflow

Basic Navigation

Note: MOD is the Super key (Alt here, by default).

Action Keybinding
Launch terminal MOD + M
Open app launcher MOD + R
Close focused window MOD + C
Change window focus MOD + J/K/L/;
Move focused window MOD + Shift + J/K/L/;
Switch to workspace MOD + 1 - 9

This should be enough for getting started. A complete list of keybindings can be found in .config/hypr/hyprland.conf

Installation

  1. Add the following to your configuration.nix
  fonts.packages = with pkgs; [ 
    nerd-fonts.fira-code # fancy icons and ligatures
  ];

  users.users.your_username.packages = with pkgs; [
    # improved terminal workflow, see 'fish.config'
    zoxide lsd bat trash-cli

    # toys
    cava neofetch cmatrix

    # programs
    neovim chezmoi  hyprland eww kitty rofi pywal swww git gcc clang-tools
    pywalfox-native # see the pywalfox firefox addon for theming your browser

    # For hyprland mapped keybindings and eww widgets
    brightnessctl lm_sensors grim playerctl alsa-utils python3 lua

    # optional
    # syncthing  # unneeded, but it autostarts in the defaults
    # gimp       # a heavy way of editing screenshots

    # extra, quality of life
    appimage-run tree file btop
    gdu             # disk usage
    wf-recorder     # screen recorder
    broot           # you can use a file manager of your choice
    gh              # github (not git) terminal tool
  ];

  users.defaultUserShell = pkgs.fish;             # If you want fish everywhere
  # users.users.your_username.shell = pkgs.fish;  # or only for your user

  # they need to be explicitly enabled
  programs.fish.enable = true;
  programs.hyprland.enable = true;

  # needed by mason on neovim
  programs.nix-ld.enable = true;
  1. Init the repository with chezmoi:

    $ chezmoi init https://github.com/nynepebbles/dotfiles.git
  2. Apply the configuration

    # backup you old configs first, in case you need them back
    $ mkdir -p .config/chezmoi
    $ chezmoi apply .config/chezmoi/chezmoi.toml
    $ chezmoi apply

About

Personal development environment and desktop configuration, built for NixOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published