https://github.com/hmajid2301/nixicle
My dotfiles always changing ๐
https://github.com/hmajid2301/nixicle
dotfiles home-manager homelab hyprland nixos nixvim
Last synced: about 1 year ago
JSON representation
My dotfiles always changing ๐
- Host: GitHub
- URL: https://github.com/hmajid2301/nixicle
- Owner: hmajid2301
- License: unlicense
- Created: 2022-07-05T19:30:13.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-02T21:58:03.000Z (over 1 year ago)
- Last Synced: 2025-04-04T22:11:29.040Z (about 1 year ago)
- Topics: dotfiles, home-manager, homelab, hyprland, nixos, nixvim
- Language: Nix
- Homepage:
- Size: 74.7 MB
- Stars: 85
- Watchers: 2
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Nixicle
Screenshot updated: 2024-07-15
:warning: This config repo is constantly changing,
Let me know if you see something that can be improved or done better :smile: .
## ๐ฝ Usage
Install
To install NixOS on any of my devices I now use [nixos-anywhere](https://github.com/nix-community/nixos-anywhere/blob/main/docs/howtos/no-os.md).
You will need to be able to SSH to the target machine from where this command will be run. Load nix installer ISO if
no OS on the device. You need to copy ssh keys onto the target machine
`mkdir -p ~/.ssh && curl https://github.com/hmajid2301.keys > ~/.ssh/authorized_keys` in my case I can copy them from GitHub.
```bash
git clone git@github.com:hmajid2301/nixicle.git ~/nixicle/
cd nixcile
nix develop
nixos-anywhere --flake '.#workstation' nixos@192.168.1.8 # Replace with your IP
```
After building it you can copy the ISO from the `result` folder to your USB.
Then run `nix_installer`, which will then ask you which host you would like to install.
### Building
To build my config for a specific host you can do something like:
```bash
git clone git@github.com:hmajid2301/nixicle.git ~/nixicle/
cd nixicle
nix develop
# To build system configuration (uses hostname to build flake)
nh os switch
# To build user configuration (uses hostname and username to build flake)
nh home switch
# Build ISO in result/ folder
nix build .#install-isoConfigurations.graphical
# Deploy my to remote server i.e. Home Lab (using SSH)
deploy .#ms01 --hostname ms01 --ssh-user nixos --skip-checks
# Build Home Lab diagram using nix-topology
nix build .#topology.config.output
```
## ๐ Features
Some features of my config:
- Structured to allow multiple **NixOS configurations**, including **desktop**, **laptop** and **homelab**
- **Custom** live ISO for installing NixOS
- **Styling** with stylix
- **Opt-in persistance** through impermanence + blank snapshot
- **Encrypted BTRFS partition**
- **sops-nix** for secrets management
- Different environments like **hyprland** and **gnome**
- Custom **Neovim** setup declaratively using **nixvim**
- Homelab all configured in nix.
## ๐ Configurations
| Hostname | Board | CPU | RAM | Primary GPU | Role | OS | State |
| :---------: | :-------------------------: | :----------------------------: | :---: | :-------------------------: | :--: | :-: | :---: |
| `workstation` | X671E AORUS PRO X | AMD Ryzen 9 7950X | 64GB | AMD Spectral White 7900 XTX | ๐ฅ๏ธ | โ๏ธ | โ
|
| `framework` | Framework 13th Gen AMD | Intelยฎ Coreโข i7-1370P | 32GB | Intel Iris Graphics | ๐ป๏ธ | โ๏ธ | โ
|
| `frandecpa63294006a` | Framework 13th Gen Intel | AMD Ryzenโข 7 7840U | 32GB | Intel Iris Graphics | ๐ป๏ธ | ๐ง | โ
|
| `vm` | QEMU | - | - | VirGL | ๐ | โ๏ธ | โ
|
| `steamdeck` | - | Zen 2 | 16GB | 8 RDNA 2 CUs | ๐ฎ๏ธ | ๐ง | โ
|
| `um790` | UM790 | AMD Ryzen 9 7940HS | 64GB | AMD Radeonโข 780M | โ๏ธ | โ๏ธ | โ
|
| `ms01` | MS-01 | i9-13900H | 64GB | Iris Xe Graphics | โ๏ธ | โ๏ธ | โ
|
| `s100` | S100 | N100 | 8GB | Iris Xe Graphics | โ๏ธ | โ๏ธ | โ
|
| `vps` | QEMU (Hetzner shared) | 2 VCPU | 2GB | VirGL | ๐ | โ๏ธ | โ
|
**Key**
- ๐ฅ๏ธ : Desktop
- ๐ป๏ธ : Laptop
- ๐ฎ๏ธ : Games Machine
- ๐ : Virtual Machine
- โ๏ธ : Server
## ๐ผ๏ธ Showcase
### Desktop




### Neovim




## Appendix
- Dot icons created by Roundicons - Flaticon
- You can read more about my dotfiles and development workflows on my [blog here](https://haseebmajid.dev/series/my-development-workflow/) (#ShamelessPlug).
- [Wallpaper From Catppuccin Discord](https://discord.com/channels/907385605422448742/1199293891392852009)
- Galaxy: https://discord.com/channels/907385605422448742/1199293891392852009
- Old Catppuccin wallpaper: https://github.com/Gingeh/wallpapers
- Catppuccino: https://discord.com/channels/907385605422448742/1130546126374838342
- Catppuccino: https://discord.com/channels/907385605422448742/1130546126374838342
### Inspired By
- Snowfall config: https://github.com/jakehamilton/config?tab=readme-ov-file
- More snowfall config: https://github.dev/khaneliman/khanelinix/blob/f4f4149dd8a0fda1c01fa7b14894b2bcf5653572/flake.nix
- My original structure and nixlang code: https://github.com/Misterio77/nix-config
- Waybar & scripts: https://github.dev/yurihikari/garuda-sway-config
- Neovim UI: https://github.com/NvChad/nvchad
- README: https://github.com/notohh/snowflake/tree/master
- README table: https://github.com/wimpysworld/nix-config