Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

Steven-S1020/Nixos-Configuration

My NixOS Configuration Files that I daily drive.

Steven-S1020/Nixos-Configuration.json
{
"createdAt": "2024-06-03T13:28:44Z",
"defaultBranch": "main",
"description": "My NixOS Configuration Files that I daily drive.",
"fullName": "Steven-S1020/Nixos-Configuration",
"homepage": "",
"language": "Lua",
"name": "Nixos-Configuration",
"pushedAt": "2026-03-18T23:20:57Z",
"stargazersCount": 3,
"topics": [],
"updatedAt": "2026-03-18T23:21:01Z",
"url": "https://github.com/Steven-S1020/Nixos-Configuration"
}

My NixOS Configuration Files



These are my NixOS Configuration Files that I use daily on my current machines. I have been messing with NixOS, Home Manager, and Flakes since Fall of 2023. Below I will include the different hosts that I have inside this configuration. As well as any specifics That might be useful for someone looking at my setup. Feel free to copy or adjust any of my dot files, I can’t promise it will work but I wish you the best of luck.





HostnameDevice TypePurposeCPUGPUMEMDE
AzamiLaptopSchoolIntel i7-1255UIntegrated16 GB DDR5Hyprland
DeimosDesktopGamingRyzen 5 5600XNvidia 3070 LHR32 GB DDR4Hyprland
VigilRaspberry Pi 4AnythingQuad core Cortex-A72VideoCore VI 3D2 GB DDR4None

  • Nixos Hardware

nixos-hardware is a collection of NixOS Modules for covering hardware quirks. Due to me deciding to buy a Microsoft Surface before knowing better, I tend to need many specific drivers for my system. The main issue that prompted me in finding a fix was the laptop failing to power off fully and the screen flickering randomly. Adding this to my flake inputs and a few lines of Config to my flake modules here mostly fixed the issue. (I later realized the screen flickering was due to Microsoft not knowing how to make Laptops even though it’s kinda their job.)


  • Den

den, flake-aspects, flake-file, flake-parts, import-tree, systems, these inputs are also used for how the current structure of my NixOS config. I will go into more detail later.


  • Stylix

stylix is a system wide theming module for NixOS. My main reason for this was due to my obsession with the color red and that there isn’t many good red standardized themes for linux. After adding this input to my flake and modules, all I needed to do was create a new config file here


  • NVF

NVF provides a nixos and home-manager module for declaratively configuring neovim.


  • Noctalia

noctalia and noctalia-qs is a customizable quickshell configuration with many options and plugins. It replaces many different apps programs that I would need to install and configure otherwise.


  • Mkdev

mkdev is a command line tool to copy and deploy frequently used scripts and projects. Not only is this made by one of my friends, but I use it daily for quickly creating new projects. This in combination with ultisnips speeds up my coding workflow.


  • Zen Browser

zen-browser is a new browser that isn’t in nixpkgs yet. I’ve been keeping an eye on it since it launched, but it’s taking longer than expected to reach a stable build for nixpkgs.


I would like to first note that I’m very new to using a dendritic type framework for my NixOS configuration as well as I will be structuring my configuration in the way that makes the most sense to me.

The Den framework/library works by using many different modules that are independent of themselves. These modules are mostly called aspects. For example I have one file that defines den.aspects.git, this aspect then can have three main sections, nixos, homeManager, and includes. nixos is where you set nixos options, homeManager is an alias for users.users.<username> thus you set home-manager options here, and includes is where you can include other modules or define context specific settings. Den uses the term context to create specific settings based on some provided context like host or user. To tell Den that an aspect is going to need to supply context you will include den.lib.parametric when defined said aspect. Next you will designate in the includes block what context you need like { host, ... } or { host, user } and how you need it like den.lib.take.exactly or den.lib.take.atLeast. This tells Den to only evaluate this block when you have exactly or at least this context.

cd /etc/nixos
sudo chown -R steven:steven .
nix-shell -p git --run "git clone git@github.com:Steven-S1020/Nixos-Configuration.git ."
sudo nixos-rebuild switch --flake #<FlakeHost>

For all inputs:

cd etc/nixos
nix flake update

For specific inputs:

cd etc/nixos
nix flake update <InputName>