Awesome
<p align="center"> <img width="250px" src=".github/images/flake_logo.png" alt="jnsgruk flake logo"> </p> <h1 align="center">jnsgruk's <a href="https://nixos.org">NixOS</a> & <a href="https://github.com/nix-community/home-manager">Home Manager</a> Configurations</h1>This repository contains a Nix Flake for configuring my machines. As a general rule, my "server" machines track the latest stable release of NixOS, and my workstations/laptops track unstable
.
I use Hyprland as my tiling window manager, Alacritty as my terminal emulator, and I move between Neovim and Visual Studio Code for editing. All of my apps/system components are themed with the excellent Catppuccin theme where possible. I also rely on 1Password, Obsidian and Todoist in my daily work. At work, we use Google Workspace, so I use Google Chrome for work browsing and Firefox for home browsing. I use (and love) Tailscale to network my computers, phones and tablets.
🖥️ Machines
My machines are partitioned with disko, and most are encrypted using the TPM to unlock the disks automatically on boot (I wrote about this on my blog). I tend toward btrfs for my machines - I've been using it for many years without issue. Machines are mostly named after characters or places in Norse mythology.
Hostname | Board | CPU | RAM | GPU | OS | Role | Desktop |
---|---|---|---|---|---|---|---|
dev | Multipass VM | - | - | - | Ubuntu | Server | - |
freyja | Thinkpad Z13 | AMD Ryzen 7 Pro 6860Z | 32GB | AMD Radeon 680M | NixOS | Laptop | Hyprland |
kara | MSI MPG X670 Carbon | AMD Ryzen 9 7950X | 64GB | AMD Radeon RX 7900 XT | NixOS | Desktop | Hyprland |
thor | Intel NUC6i7KYK | Intel Core i7-6770HQ | 16GB | Intel Iris Pro Graphics 580 | NixOS | Server | - |
volnir | Raspberry Pi 4 | BCM2711 / Cortex A72 | 4GB | - | NixOS | Kiosk | Cage/Firefox |
🚧 Structure
- .github: ci/cd workflows for flake checks and version bumps
- home: my home-manager configurations
- host: host-specific configurations
- lib: custom libraries for host/home construction and theming
- overlays: package/configuration overlays
- pkgs: my custom package definitions
- scripts: helper scripts for machine setup
- secrets: secrets encrypted with age and agenix
Both host and home contain common
directories, which contain reusable piece of configuration
used across multiple machines.
📦 Applications / Packages
The following is a list of the key elements of my setup, with links to their config:
Type | Details |
---|---|
Shell | zsh, starship, nvim, tmux, fastfetch, bat, fzf |
WM | hyprland, waybar, hyprlock, mako, gtk, rofi, swappy |
Apps | vscode, zathura, alacritty |
Services | home-assistant |
🖼️ Screenshots
<!-- Applications / Packages -->