https://github.com/daru-san/snowydots
[Mirror] My beautiful, functional NixOS configuration
https://github.com/daru-san/snowydots
dotfiles flakes home-manager home-manager-config linux nix-dotfiles nix-flake nix-flakes nix-home-manager nixos nixos-configuration nixos-dotfiles nixos-flake nixpkgs
Last synced: 8 months ago
JSON representation
[Mirror] My beautiful, functional NixOS configuration
- Host: GitHub
- URL: https://github.com/daru-san/snowydots
- Owner: Daru-san
- License: mit
- Created: 2023-11-14T11:41:58.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-24T10:10:52.000Z (almost 2 years ago)
- Last Synced: 2024-10-30T02:48:10.409Z (over 1 year ago)
- Topics: dotfiles, flakes, home-manager, home-manager-config, linux, nix-dotfiles, nix-flake, nix-flakes, nix-home-manager, nixos, nixos-configuration, nixos-dotfiles, nixos-flake, nixpkgs
- Language: Nix
- Homepage: https://git.sr.ht/~darumaka/SnowyDots
- Size: 50.3 MB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SnowyDots
My functional, advanced NixOS configuration.
Main configuration for SnowOS


## Installing NixOS
### Installation
```bash
# Boot into the installer
# Connect to wifi, instructions on the wiki, link in the helpful links section.
# My installer has network manager installed so I use that instead of wpa utility
# Enter root shell
sudo -i
# Create you partitions, I personally use cfdisk, but you can use any tool e.g parted
cfdisk
# Format your partitions
mkfs.ext4 -L root /dev/root-partition # your partition name here
# It isn't necessary to separate home and root but I do it anyway
mkfs.ext4 -L home /dev/home-partition
# This may not be useful if like me, youuse zram, without swap devices
# Using swap partitions
mkswap -L swap /dev/swap-partition
swapon /dev/by-label/swap
# Mount your partitions
mount /dev/by-label/root /mnt
mount --mkdir /dev/boot-partition /mnt/boot
mount --mkdir /dev/by-label/home /mnt/home
nixos-generate-config --root /mnt
# Edit the configuration
cd /mnt/etc/nixos
vi configuration.nix
# Check the partitions to make sure their mount points are correct
# Also check for swap if you're using a partition
vi hardware-configuration.nix
# Once you're done, install the system configuration
nixos-install
```
### Deploy my config
```bash
# Clone the github repo
git clone https://github.com/Daru-san/SnowyDots snow
# You should probably make your own system configurations for compatibility
# Feel free to edit any files in the repo to suit your needs, otherwise
cd snow/systems/laptop
# Copy your partitions to the hardware-configuration.nix file
vi hardware-configuration.nix
# Build the system configuration
sudo nixos-rebuild switch --flake .#system # e.g .#Aria
# Then build the home configuration
# If you haven't installed it yet
nix shell nixpkgs#home-manager
# Then switch the config
home-manager switch --flake .#daru@Aria
```
## Resources
### Nix and NixOS information
- [NixOS Manual](https://nixos.org/manual/nixos/unstable/ "nix")
- [Nix best practices](https://nix.dev/guides/best-practices.html)
- [NixOS wiki](https://nixos.wiki "nix-wiki")
- [MyNixOS](https://mynixos.com "Best nix resource")
- [NixOS install guide](https://nixos.wiki/wiki/NixOS_Installation_Guide)
### I found useful
- [Nixvim github](https://github.com/nix-community/nixvim)
- [Nix on devdocs](https://devdocs.io/nix/)
### Inspiration
- [fufexan/dotfiles](https://github.com/fufexan/dotfiles/ "fufexan dots")
- [misterio's dotfiles](https://git.sr.ht/~misterio/nix-config "dots")
- [Misterio77's nix-starter-configs](https://github.com/Misterio77/nix-starter-configs "nix-starter-configs")
### On hardening Linux and NixOS and general security
- [ArchWiki on Linux security](https://wiki.archlinux.org/title/security)
- [sioodmy's dotfiles](https://github.com/sioodmy/dotfiles/blob/1e8a972bfbefeeb4150f5707001ce243dce1f6ea/system/core/schizo.nix)
- [Guide on firefox privacy](https://restoreprivacy.com/firefox-privacy/)
- [Comprehensive guide on Linux hardening](https://madaidans-insecurities.github.io/guides/linux-hardening.html)