Skip to content

dhupee/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

687 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dhupee's Unified Dotfiles

Important

I USE NIXOS, BTW

What is this

This is my current dotfiles that I will use in the next few years or might be my last dotfiles repo, this repo is unified all of the tools i use, not only for NixOS, Android, WSL and Windows in limited sense, and maybe hopefully servers and Macs if i have money.

By combining both Chezmoi, NixOS, and Home-Manager, not only I benefit from NixOS/Home-Manager reproducability for my Linux/WSL/Android config, using Chezmoi allows me to use my dotfiles on setups that don't/can't use Nix like Windows or Random PCs/Servers that shouldn't be littered with Nix immutability.


Screenshots

Laptop's Desktop Rice


File Structure

This is how I structure my nix-configs currently, it might will have few more diretories in the future.

the naming scheme is auto generated by Chezmoi, so don't be surprised.

on the front you will have:

Directory Description
AppData Windows equivalent of .config/ or .local I think
dot_config Config files, for now it only have powershell
dot_distrobox-recipe my recipe for distroboxes I might use, the command is long so having that is neat
dot_scripts my scripts, it has bash and powershell, some of them are carry over from my old dotfiles
dot_torrents we are a pirate!!
dot_node-red node-red stuff for IoT
mutable-configs configs that is mutable, not worth it to be carried to home directory since it will changed a lot, will be symlinked by the home-manager or other methods depend on what I need
dot_nix-configs my actual NixOS configs
private_dot_secrets well...encrypted files, configs, secrets
private_dot_ssh obviously...my ssh key
Templates templates of files...maybe not a lot that I added atm
Wallpapers Waifu and car picture for Wallpapers

then when it comes to my actual .nix-configs, the directories looks like this.

Directory Description
aliases my aliases...also carried from my old dotfiles
configs mostly my configuration files of packages, tried not to use nix for this so I can use it on non Nix systems
droids configurations for Nix On Droid, NixOS but for Android (a Termux-based app)
home my home-manager configs, tried to seperate from systems as much as possible
image config for images for deploying NixOS to somewhere
linux my systems configs for NixOS
machines hardware-configuration.nix backup and also hardware tweak for any machines I use
modules modules of nix configs, seperated by systems and home-manager ofc
theming modules for my ricing, has Gnome, KDE Plasma 6, maybe Hyprland if I want a neckbeard

This thing obviously can change overtime as this dotfiles grow, and I can forgot the directories.


Installation

Linux / NixOS

  1. Install Nix - To use this Dotfiles, you need Nix to install Chezmoi. You can install it using the Nix installer.

    Then grab my configs:

    nix-shell -p chezmoi git --run "chezmoi init dhupee"
  2. Drop your Age key - put the Age key where Chezmoi can read it and run chezmoi apply. That unlocks all the encrypted bits and installs my dotfiles.

    Finally, from the .nix-configs directory, fire off:

    sudo nixos-rebuild switch --flake .#nitro   # if you're on NixOS
    home-manager switch --flake .#dhupee        # always

    Swap the flake names if you're not nitro/dhupee – look inside flake.nix for alternatives. If you're on a non‑NixOS distro, skip the nixos-rebuild and just use Home‑Manager.


Windows

Installing

Windows support is lighter than Linux/WSL, but Chezmoi makes it work. Setup takes four steps:

  1. Install Scoop - This Dotfiles for Windows uses Scoop to install it's program, to install Scoop, run:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

    After this, you should be able to run scoop install chezmoi to install chezmoi from there

  2. Place your Age key – Copy your age.key file into your home directory (%USERPROFILE%). Chezmoi needs it to decrypt your encrypted files.

  3. Bootstrap Chezmoi – Open a terminal and initialise the repo:

    chezmoi init dhupee

    Apply the dotfiles – Run:

    chezmoi apply

    Install your applications – The dotfiles only handle configs; you supply the actual software. I recommend Scoop for most CLI tools and Winget for apps that need system integration.

Note

This setup is intentionally kept minimal compared to my NixOS machines, but it gives you consistent scripts, aliases, and shell customisation on Windows.

Uninstalling Scoop as cleanly as possible

By design, Scoop isolates almost all instalation in Scoop folder in %USERPROFILE%, However if you want it to be deleted as clean as possible, do this few steps

  1. Uninstall Scoop and all its apps

    scoop uninstall scoop
  2. Delete leftover directories (if they still exist)

    Remove-Item -Recurse -Force "$env:USERPROFILE\scoop" -ErrorAction SilentlyContinue
    Remove-Item -Recurse -Force "$env:USERPROFILE\.config\scoop" -ErrorAction SilentlyContinue
  3. Clean your PATH and Scoop‑related environment variables Open System PropertiesEnvironment Variables and remove:

    • Any user/system Path entries containing scoop (e.g., %USERPROFILE%\scoop\shims).
    • Any user/system variables named SCOOP or SCOOP_GLOBAL.
  4. Restart your terminal for changes to take effect.

Removing Dotfiles

Because Dotfiles is managed using Chezmoi, in order to remove dotfiles from BOTH Sources and Destination, run:

chezmoi destroy

Then you can let it rip, remove Scoop or Nix, depending on the systems

Tools I use in this dotfiles

References for me

To-Do List

  • NixOS profile specifically for Klipper Servers, for my 3D printer
  • Live USB profile, packages as an custom ISO

About

Dotfiles for my Nix/NixOS, Android, WSL and Regular Windows. Configured with Home-Manager and Chezmoi

Topics

Resources

Stars

14 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors