Skip to content

HirschBerge/Public-dots

Repository files navigation


HirschBerge's NixOS .dotfiles


Screeenshot last updated 01/14/24

My Dotfiles

Flakes

Now that I have moved to moved to using flakes, this rice is much easier to replicate. With just changing a few variables, and renaming the folder structure to match, you can now have my exact build in just a few minutes. I will provide some steps to replication below.

Disclaimer! I do not offer any support

Use at your own risk. I suggest cherry-picking sections of the code for your own use case What you do on your computer is something for which I cannot and will not be held accountable. If you really want to use my setup as-is, in addition to Installation Please review the official NixOS Installation Guide

Overview

Category Software/Theme/Distro
OS NixOS
Window Manager Hyprland
Discord Modifications Vesktop
Notification Manager Custom EWW Widget
Web Browser Firefox
Video Player MPV
Text Editor Neovim
Neovim "Distro" nixCats-nvim
CLI File Manager Yazi
Wallpaper Engine SWWW
GUI File Manager Thunar
Launcher Rofi
Bar/Widgets EWW
Terminal Kitty
MultiPlexer Zellij
Zellij Bar zjstatus
Shell NuShell
Fonts Termina Test, Jetbrains Nerdfonts Mono, Fira Code, Iosevka Nerd Font
Linux ISO Torrents rtorrent
CLI tool rewrites findfd greprg sedsd dudust
NixOS Helper nh

Getting Started

Prerequisites

  • Generic NixOS installation. Whether this is minimal or not, does not matter.
  • git installed
  • General skill with troubleshooting.
  • Recommendation to fork the repo and substitute your repo's URL below

Installation

I have not had the opportunity to test installation too much, as I really just want to share Note: Termina Test from above does seem to think that is has a copy right, but doesn't provide a real license anywhere I could find. Out of respect, I don't want to host it for imperatively install, so please go to the link in the table to install. Clone this repository and run the following.

git clone https://github.com/HirschBerge/Public-dots.git ~/.dotfiles
cd .dotfiles
git switch flakes # If not already on the flakes branch.

Use your favorite text editor to edit the flake in any places that TODO is located to change your hostname and username. Please note that I have the flake set up for both a laptop, shirohebi and a desktop yoitsu. If you only have one or the other, you can simply remove the other directories as they won't be referenced at all. We will be assuming that you are using yoitsu in the installation example. If you have specific dot files that you want to deploy, you can copy them to ~/.dotfiles/yoitsu/<path> and change/add the home.file source in deploy_dots.nix

# Copy your hardware-configuration.nix to ~/.dotfiles/nixos/yoitsu/
cp /etc/nixos/hardware-configuration.nix ~/.dotfiles/nixos/yoitsu/
sudo nixos-rebuild switch --flake ~/.dotfiles#yoitsu
# You could probably reboot here.
# Home Manager config.
home-manager --flake ~/.dotfiles#$USER@yoitsu switch -b backup
# Optionally, you can then update the flake with
nix flake update #and repeat the above two. I would definitely reboot before that though and sign back in.

If you run into issues doing this, please make an issue and I will try and get it working or update instructions.

NH Nix Helper

These are my workflows with `nh` to rebuild/update Home-Manager and NixOS

Full rebuild

nh os switch
rm ~/.mozilla/firefox/<profile>/search.json.mozlz4
nh home switch

Home Manager only

# These files tend to rewrite themselves from being links, so i remove them.
rm ~/.mozilla/firefox/<profile>/search.json.mozlz4 -f
nh home switch
# Alternatively
nhhome

System Upgrade

nh os boot --update
# These files tend to rewrite themselves from being links, so i remove them.
rm ~/.mozilla/firefox/<profile>/search.json.mozlz4
nh home switch
# Alternatively
nhupdate

Credits and Inspiration

Credit Reason
Frost-Phoenix README.md Ricing guidance
Hypr-Dots Scripts mostly.
r/UnixPorn More inspiration than you can imagine
LibrePhoenix Beautiful guides and great knowledge
VimJoyer Short, simple, concise guides and info
BirdeeHub/nixCats-nvim Super neat tool and very useful help