Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iogamaster/dotfiles
My NixOS flake.
https://github.com/iogamaster/dotfiles
arion catppuccin containers deployment dotfiles home-manager hydra hyprland linux microvm nix-colors nix-darwin nixos nixos-anywhere nixos-configuration prism snowfall snowfall-lib sops
Last synced: 33 minutes ago
JSON representation
My NixOS flake.
- Host: GitHub
- URL: https://github.com/iogamaster/dotfiles
- Owner: IogaMaster
- License: mit
- Created: 2023-09-19T18:45:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-16T04:20:52.000Z (8 days ago)
- Last Synced: 2025-01-17T04:05:30.462Z (7 days ago)
- Topics: arion, catppuccin, containers, deployment, dotfiles, home-manager, hydra, hyprland, linux, microvm, nix-colors, nix-darwin, nixos, nixos-anywhere, nixos-configuration, prism, snowfall, snowfall-lib, sops
- Language: Nix
- Homepage:
- Size: 40.3 MB
- Stars: 108
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
My NixOS flake built with snowfall.
![image](https://github.com/IogaMaster/myconfig/assets/67164465/1605c3d2-ca38-4942-a2f5-a1288c19d8e3)
πΌοΈ Gallery
![image](https://github.com/IogaMaster/myconfig/assets/67164465/83bc1ff5-74d6-4043-8def-9f5e971a801f)
![image](https://github.com/IogaMaster/myconfig/assets/67164465/dac697f5-870f-42bd-9b5e-f35c019f96e1)πΈοΈ Topology Diagram
Can take a few minutes to update.
![image](https://raw.githubusercontent.com/IogaMaster/myconfig-topology/main/topology.svg)
> \[!WARNING\]
> Currently doing a rework to move away from snowfall.
> The snowfall based config will always be available on the [snowfall](https://github.com/IogaMaster/myconfig/tree/snowfall) branch.
> I like snowfall, be feel that the complexity is high. I want something lighter weight. Without going completely bare.## My system management tool `sys`
`sys` is a bash script I made that makes working with NixOS easier.
Rebuild (in flake directory)
```sh
sudo sys rebuild # or `r` as a shorthand
```Testing an ephemeral config:
```sh
sudo sys test # or `t` as a shorthand
```______________________________________________________________________
## Installing
The automated install is preferred for x86_64-linux systems.
Clone the repo:
```sh
git clone https://github.com/IogaMaster/myconfig.git
cd myconfig
```Install:
```sh
nix run .#install --
```Done!
Manual Install
### Build install iso
```sh
# Graphical
nix build .#install-isoConfigurations.graphical# Minimal tty
nix build .#install-isoConfigurations.minimal
```### Basic Setup
Network manager is installed by default.
If you need wifi.```sh
nmtui
```Now become root.
```sh
sudo su
```### Disks
This is pretty much copy and paste.
UEFI
```sh
# Become root
sudo su# Assuming /dev/sda is the device you are installing to.
parted /dev/sda -- mklabel gpt
parted /dev/sda -- mkpart primary 512MB -8GB
parted /dev/sda -- mkpart primary linux-swap -8GB 100%
parted /dev/sda -- mkpart ESP fat32 1MB 512MB
parted /dev/sda -- set 3 esp on# Make filesystems and mount
mkfs.ext4 -L nixos /dev/sda1
mkswap -L swap /dev/sda2
mkfs.fat -F 32 -n boot /dev/sda3
mount /dev/disk/by-label/nixos /mnt
mkdir -p /mnt/boot
mount /dev/disk/by-label/boot /mnt/boot
swapon /dev/sda2
```BIOS
```sh
# Become root
sudo -i# Assuming /dev/sda is the device you are installing to.
parted /dev/sda -- mklabel msdos
parted /dev/sda -- mkpart primary 1MB -8GB
parted /dev/sda -- set 1 boot on
parted /dev/sda -- mkpart primary linux-swap -8GB 100%# Make filesystems and mount
mkfs.ext4 -L nixos /dev/sda1
mkswap -L swap /dev/sda2
mount /dev/disk/by-label/nixos /mnt
swapon /dev/sda2
```### Final install
Now we need to add your system.
First clone the myconfig in `/mnt`
```sh
git clone [email protected]:IogaMaster/myconfig /mnt/.myconfig
cd /mnt/.myconfig/
```Then copy the example config with the new hostname of your system.
```sh
# The `x86_64-linux` part comes from nixos generators, if you are using a different arch use that directory. eg `aarch64-linux` for arm
cp -r systems/x86_64-linux/example/ systems/x86_64-linux/hostname
```> \[!WARNING\]\
> Do not use my hardware configurations they won't work with your system!Generate your config and copy the hardware configuration.
```sh
nixos-generate-config --root /mnt
cp /mnt/etc/nixos/hardware-configuration.nix /mnt/.myconfig/systems/x86_64-linux/hostname/
```Then install.
```sh
nixos-install
```### Post install.
> \[!WARNING\]\
> The default password for the iogamaster user is `password` please change it.I normally clone the myconfig repo to ~/.myconfig/
______________________________________________________________________
A special thanks to:
[hlissner](https://github.com/hlissner/myconfig) for getting me into NixOS.
[redyf](https://github.com/redyf/nixdots) for the bar and other minor hyprland config options.
[Wil Taylor](https://www.youtube.com/playlist?list=PL-saUBvIJzOkjAw_vOac75v-x6EzNzZq-) for his youtube series on setting up NixOS with a flake.
[Jake Hamilton](https://github.com/jakehamilton/config) for his NixOS config and [snowfall](https://github.com/snowfallorg/lib).
[Tech Support on Hold](https://github.com/TechsupportOnHold/Batterylife/blob/main/laptop.nix) for the battery module