Skip to content

jnsgruk/nixos-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jnsgruk flake logo

jnsgruk's NixOS & Home Manager Configurations

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 Ubuntu 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

clean dirty