This repository contains my personal NixOS configuration, including various system settings, package definitions, and configurations for Neovim and other utilities.
flake.nix: The entry point for the NixOS system configuration and package management.flake.lock: A lock file generated bynix flake update, ensuring reproducible builds.hosts/: Contains configuration for specific hosts (e.g., machine-specific settings).modules/: Custom NixOS modules for adding additional functionality, namely most of them are just abstraction of a group of packages.pkgs/: Custom package definitions and overlays.resources/: Static resources used by the system configuration (e.g., wallpapers, scripts).LICENSE: The license under which this configuration is shared.README.md: This file, providing an overview of the repository.
To apply this NixOS configuration to your system, follow these steps:
git clone https://github.com/contini-aron/nixos-conf.git
cd nixos-confReplace default with your actual hostname (matching a file under hosts/), or keep default if applicable.
sudo nixos-rebuild switch --flake ./nixos-conf#default --impureNote: The
--impureflag is required to include the autogenerated hardware configuration located at/etc/nixos/hardware-configuration.nix, which is not managed by the flake.
The Neovim configuration in this repository can be used independently without installing the full NixOS system configuration.
Run Neovim with this configuration once without installing:
nix run github:contini-aron/nixos-conf#neovim-confThis will launch Neovim with all plugins and settings, but won't persist the installation.
To install the Neovim configuration persistently to your user profile:
nix profile install github:contini-aron/nixos-conf#neovim-confAfter installation, you can launch Neovim from anywhere with the configured setup.
If you've already installed the Neovim config and want to upgrade to the latest version:
# Method 1: Upgrade by pattern matching
nix profile upgrade '.*neovim-conf.*'
# Method 2: Run with refresh flag (fetches latest without modifying profile)
nix run github:contini-aron/nixos-conf#neovim-conf --refreshList all installed profiles to see what's currently installed:
nix profile listRemove the Neovim configuration from your profile:
nix profile remove '.*neovim-conf.*'After removing the Neovim configuration, clean up unused dependencies and free disk space:
nix-collect-garbage- NixOS users: You already have Nix available. Just ensure flakes are enabled.
- Non-NixOS users: Install the Nix package manager by following the official installation instructions, then enable flakes.