4.5 KiB
#################################################################
# .▄▄▄ ▄• ▄▌▪ ▐ ▄ ▄▄▄▄▄▄▄▄ ..▄▄ · .▄▄ · ▄▄▄ . ▐ ▄ ▄▄· ▄▄▄ . #
# ▐▀•▀█ █▪██▌██ •█▌▐█•██ ▀▄.▀·▐█ ▀. ▐█ ▀. ▀▄.▀·•█▌▐█▐█ ▌▪▀▄.▀· #
# █▌·.█▌█▌▐█▌▐█·▐█▐▐▌ ▐█.▪▐▀▀▪▄▄▀▀▀█▄▄▀▀▀█▄▐▀▀▪▄▐█▐▐▌██ ▄▄▐▀▀▪▄ #
# ▐█▪▄█·▐█▄█▌▐█▌██▐█▌ ▐█▌·▐█▄▄▌▐█▄▪▐█▐█▄▪▐█▐█▄▄▌██▐█▌▐███▌▐█▄▄▌ #
# ·▀▀█. ▀▀▀ ▀▀▀▀▀ █▪ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀ ▀▀ █▪·▀▀▀ ▀▀▀ #
#################################################################
hello there, stranger! quintessence is an opinionated flake-based config, built from the ground up for newer users, using KDE Plasma as desktop manager.
feature list
- stable-repo based, with a module for unstable packages.
- easy environment variable management, from
flake.nixandmodules/vars.nix. - rebuild script and remote sync script.
- fairly thorough comments throughout.
getting started
begin with the NixOS graphical install medium. make sure to set the hostname and username as you'll want them, then reboot into that system.
open up /etc/nixos/configuration.nix in a text editor of your choice, then add programs.git.enable = true; right below the time.timeZone line. save out, then run nixos-rebuild switch.
open your terminal and run cd && git pull https://athena.dark-fireside.xyz/mayday/quintessence.git. if this project is being hosted elsewhere, find the pullable link for that specific host instead. then, rename the folder to dotfiles.
in a text editor of your choice, make some changes to the provided files.
- in
flake.nix, change the variables section as instructed in the comments. - if you set up disk encryption, copy your
boot.initrd.luks.devicesline from/etc/nixos/configuration.nixto/home/USERNAME-GOES-HERE/dotfiles/configuration.nix. - if you need bluetooth, enable that now in
modules/net.nix. it's disabled by default. - edit
modules/vars.nixwith your locale, timezone, and all that jazz. you can find timezone codes at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones and supported locales at https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/SUPPORTED. - doublecheck
modules/packages.nix. if you switched editors from nvim, make sure to change things appropriately. uncomment any packages you want.
once you've done all that, you're ready to commit everything. run the following command:
cd dotfiles && git commit -am "first commit"
git will prompt you to do a little further setup. don't worry too hard about what you put in there, the rebuild will overwrite it.
now you're ready to rebuild. run the following command:
sudo nixos-rebuild switch --impure --flake /home/$USERNAME/dotfiles
if that goes through with no problems, perfect! reboot, and you should be into the system.
going from here
NixOS is really easy to break, but it's also really easy to fix. my first recommendation is to set up a remote repository, either on a good git server or github. if you do that, the sync-dotfiles provided script will be usable, and so will rebuild p to rebuild and push to remote. the only break i've come across that isn't quickly fixable with a rollback is changing your username or hostname--be very wary of doing that! even that can be fixed with some hoops, a live installer, and a remote version of your dotfiles.
due to the setup, you should be able to just straight up run rebuild in your terminal to rebuild your system. the script it's referencing is in dotfiles/scripts, if you want to see. it takes the potential arguments upr, with u updating the system, p syncing with your remote, and r rebooting the second the rebuild is finished.
https://search.nixos.org is your best friend for finding packages and options. keep it bookmarked. i use it almost every time i update my system. there are several neat wikis out there, too!
i highly, highly recommend poking around. this is your system--be familiar with it! change things! be willing to break things, and be willing to google and ask questions when you can't fix it. NixOS is a wonderful tool, and i hope these dotfiles help you get it working for you.
happy hunting :)