Skip to content

Panadestein/nixos-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPLv3 Build with Nix

Panadestein’s Nix/NixOS Configuration

Welcome to my personal flake Nix/NixOS configuration, powered by home-manager. This configuration is designed to be production-ready (according to my personal requirements) and comes with the xmonad and Qtile tiling window managers. Additionally, I have a declarative configuration for the gnome desktop environment, although it’s not my primary environment.

Remarks:

This configuration is specifically tailored for AMD hardware, hence, modifications might be necessary to suit other machines.

Using flakes

Nix flakes is the preferred way to utilize this configuration. The use of flakes enhances the reproducibility of the system and enables seamless support for multiple machines via the flake.nix file.

NixOS

My NixOS machine is called cyrus. Here I build the home and system configuration together as follows:

sudo nixos-rebuild --flake .#<HOSTNAME> switch

Upgrading the system implies updating the inputs one at the time:

sudo nix flake lock --update-input <INPUT>

or all of them together:

nix flake update

Non-NixOS

I maintain a second configuration for non-NixOS hosts (tested in Guix System so far), which is called atabey. Here I build only the home configuration:

nix build .#<USERNAME>
./result/activate

Using nix-channels

The flake configuration can be easily transformed into a non-flake, channel based one. For example, if you want to use the nixos-unstable you could do:

sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos
sudo nixos-rebuild switch --upgrade

When using a hybrid workflow (e.g. to keep using nix-shell in a flake system) it is important to update the channels without rebuilding:

nix-channel --update