Skip to content

Easily configurable NixOS / home-manger configuration with settings and tools that I like.

Notifications You must be signed in to change notification settings

clemjvdm/nixos-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NixOS config

Easily configurable NixOS / home-manger configuration with settings and tools that I like.

Using the configuration

This configuration lets you use a custom setup.nix file to enable or disable different modules and apply some high level settings. A default setup.nix file is provided in the root directory of the repo, it also contains comments on how to edit it.

Installation

⚠️ please read the 'State of the config' section before installing ⚠️

First install NixOS, either with the minimal or GUI installer, by following the steps on the NixOS docs. Before running nixos-install make sure to add 'git' to the list of packages to install in 'configuration.nix'.

With git installed, clone this repo anywhere on your computer:

git clone https://github.com/clemjvdm/nixos-config.git

The autogenerated 'hardware-configuration.nix' needs to be in 'nixos-config/nixos' to work, so copy it there:

cp /etc/nixos/hardware-configuration.nix nixos-config/nixos/.

Now you are ready to rebuild the system with:

sudo nixos-rebuild switch --flake .#default

However before doing so it is recommened to take a look at the setup.nix file and edit it as appropriate, comments within the file describe how to do this. This will reduce the chance of running into issues, and will let you install the the OS as you like it from the start!

ISO

An ISO can be generated to live boot this configuration. Although it might contain some font issues, I plan on fixing this soon.

To build the ISO use the following command: nix build .#nixosConfigurations.live.config.system.build.isoImage

State of the config

This configration started out being very coupled to the laptop from which I developed it. But as I added more and more modules to it, it made sense to keep these modular, so I could re-use them for other use cases. Currently it is a little bit in between completely coupled to my laptop and not. Most modules can be enabled and disabled through the setup.nix file, but the configuration doesn't have many modules to fit other use cases than my own (desktops for example). So as of now I wouldn't recommend installing this configuration as the main OS of any machine. Maybe with the exception of laptops with hybrid graphics, in which case the configuration should work just fine.

Overall I think this configuration is more useful to take inspiration from to write your own. I think how the graphics configuration nvidia-laptop.nix and how the setup.nix works may be useful things to steal.

Todo

  • better network manager
  • fix xfconf keymaps (including switching workspaces)
  • add setup settings
  • improve mousepad configuration
  • battery life optimization
  • check if amdgpu driver/kernel option is needed
  • qutebrowser config
  • rofi theme
  • package pygerber (to learn packaging)
  • tmux
  • pythonocc package fix
  • automatically generate setup.nix to enable/disable modules
  • make rebuild.sh generate hardware-config.nix if it doesn't exist
  • default applications
  • auto detect nvidia/amdgpu bus id?
  • rofi file browser extended

About

Easily configurable NixOS / home-manger configuration with settings and tools that I like.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published