Back to rankings

gvolpe/nix-config

Nix

:space_invader: NixOS configuration :space_invader:

nixdotfilesdotfiles-linuxnixpkgsnixos-configurationnixosfish-shellneovimxmonadpolybarhome-managernix-dotfiles
Star Growth
Stars
1.1k
Forks
80
Weekly Growth
Issues
0
1.1k1.1k1.1k
Jul 18Jul 19Jul 20Jul 20
README
NixOS

:space_invader: NixOS Config :space_invader:

ci-badge Home NixOS

My current — and always evolving — NixOS and Home Manager configurations.

Niri

An incredible scrollable-tiling Wayland compositor.

niri

Environment details
Type Program
Editor NeoVim
Launcher Fuzzel - Vicinae
Shell Fish
Status Bar Waybar
Terminal Kitty
Window Manager Niri
File Manager Nemo
Notifications Sway NC
Wallpapers Hyprlax
GTK Theme Juno Ocean
GTK Icon Theme Beauty Line
Terminal Font JetBrainsMono
Expand to see more screenshots

overview

swaylock

swaync

workspace

workspace1

nemo

fuzzel

vicinae

wlogout

hyprlax

Hyprland

My first Wayland compositor experience.

hyprland

Environment details
Type Program
Editor NeoVim
Launcher Wofi
Shell Fish
Status Bar Waybar
Terminal Foot
Window Manager Hyprland
File Manager Nemo
Notifications Dunst
GTK Theme Juno Ocean
GTK Icon Theme Beauty Line
Terminal Font JetBrainsMono
Expand to see more screenshots

hyprlock

floating

btm

nemo

binds

XMonad

XMonad will be forever in my heart — the best X window manager!

neofetch

Environment details
Type Program
Editor NeoVim
Launcher Rofi
Shell Fish
Status Bar Polybar
Terminal Alacritty
Window Manager XMonad
File Manager Nautilus
Notifications Dunst
GTK Theme Juno Ocean
GTK Icon Theme Beauty Line
Terminal Font JetBrainsMono
Expand to see more screenshots

cowsay

scala-dev-env

desktop

themes

demo

NeoVim

My NeoVim configuration lives here: https://github.com/gvolpe/neovim-flake

Structure

diagram

Flake outputs

Expand to see available ouputs
$ nix flake show github:gvolpe/nix-config
├───apps
│   └───x86_64-linux
│       └───nix: app
├───homeConfigurations
│   ├───niri-edp: Home Manager configuration [home-manager-generation]
│   ├───niri-hdmi: Home Manager configuration [home-manager-generation]
│   ├───hyprland-edp: Home Manager configuration [home-manager-generation]
│   ├───hyprland-hdmi: Home Manager configuration [home-manager-generation]
│   ├───hyprland-hdmi-mutable: Home Manager configuration [home-manager-generation]
│   ├───xmonad-edp: Home Manager configuration [home-manager-generation]
│   └───xmonad-hdmi: Home Manager configuration [home-manager-generation]
├───nixosConfigurations
│   ├───aorus: NixOS configuration [nixos-system-dell-xps-15-9560-24.11.20240620.d603719]
│   ├───dell-xps: NixOS configuration [nixos-system-dell-xps-15-9560-24.11.20240620.d603719]
│   ├───thinkpad: NixOS configuration [nixos-system-thinkpad-x1-24.11.20240620.d603719]
│   ├───tongfang-amd: NixOS configuration [nixos-system-thinkpad-x1-24.11.20240620.d603719]
│   └───xmod: NixOS configuration [nixos-system-tongfang-amd-24.11.20240620.d603719]
├───out
│   ├───overlays: custom instance to be used by consumers of this flake
│   └───pkgs: custom instance to be used by consumers of this flake
└───packages
    └───x86_64-linux
        ├───bazecor: package [bazecor-1.5.4-patched]
        ├───metals: package [metals-1.4.1]
        ├───metals-updater: package [metals-updater-script]
        ├───neovim: package [neovim-0.10.2]
        └───slack: package [slack-4.41.97]

As well as all the declared flake inputs.

nix flake metadata github:gvolpe/nix-config
Further installation instructions

Install

The xmod configuration also contains my Home Manager configuration using the NixOS module, so it can easily be tested with a single command.

nixos-rebuild switch --flake github:gvolpe/nix-config#xmod

Or you can test it directly on a QEMU virtual machine, though it has its limitations in terms of graphics.

nixos-rebuild build-vm --flake github:gvolpe/nix-config#xmod
./result/bin/run-xmod-amd-vm

Having both NixOS and Home Manager configurations combined makes it easier to quickly install it on a new machine, but my preference is to have both separate, as my Home Manager configuration changes more often than that of the NixOS one, which can result in multiple (unwanted) generations at boot time.

Managing the different Home Manager generations in isolation makes this way easier for me.

NixOS

The NixOS configuration can be installed by running the following command.

nixos-rebuild switch --flake github:gvolpe/nix-config#thinkpad-x1

Beware that the hardware-configuration.nix file is the result of the hardware scan of the specific machine and might not be suitable for yours.

Home Manager

A fresh install requires the creation of certain directories (see what the switch script does). However, if you omit those steps, the entire HM configuration can also be built as any other flake.

nix build github:gvolpe/nix-config#homeConfigurations.xmonad-edp.activationPackage
result/activate

Fresh install

To set up a new machine from scratch, have a look at this document.

LICENSE

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Related repositories
unionlabs/union

The trust-minimized, zero-knowledge bridging protocol, designed for censorship resistance, extremely high security, and usage in decentralized finance.

Rustcrates.ioApache License 2.0blockchaincosmos
union.build
73.9k3.9k
NixOS/nixpkgs

Nix Packages collection & NixOS

NixMIT Licensenixpkgsnix
25.5k19.6k
NixOS/nix

Nix, the purely functional package manager

C++GNU Lesser General Public License v2.1nixfunctional-programming
nixos.org
17.4k2k
jetify-com/devbox

Instant, easy, and predictable development environments

GoGo ModulesApache License 2.0devboxdevelopment-environment
jetify.com/devbox/
12.2k347
nix-community/home-manager

Manage a user environment using Nix [maintainer=@khaneliman, @rycee]

NixMIT Licensenixnixpkgs
nix-community.github.io/home-manager/
10.1k2.4k
xonsh/xonsh

🐚 Python-powered shell. Full-featured, cross-platform and AI-friendly.

PythonPyPIOtherxonshdevops
xon.sh
9.6k730
teslamate-org/teslamate

A self-hosted data logger for your Tesla 🚘 [main maintainer=@JakobLichterfeld]

ElixirGNU Affero General Public License v3.0teslatesla-api
docs.teslamate.org
8.8k991
cachix/devenv

Fast, Declarative, Reproducible, and Composable Developer Environments using Nix

Rustcrates.ioApache License 2.0developer-toolsdevenv
devenv.sh
7.1k525
RubyMetric/chsrc

chsrc 全平台通用换源工具与框架. Change Source everywhere for every software

CGNU General Public License v3.0gemlinux
chsrc.run
6.8k277
nix-darwin/nix-darwin

Manage your macOS using Nix

NixMIT Licensedarwinnix
nix-darwin.org
5.7k649
digitallyinduced/ihp

🔥 The fastest way to build type safe web apps. IHP is a new batteries-included web framework optimized for longterm productivity and programmer happiness

HaskellMIT Licensehaskellpostgresql
ihp.digitallyinduced.com
5.3k224
nix-community/awesome-nix

😎 A curated list of the best resources in the Nix community [maintainer=@cyntheticfox]

Creative Commons Zero v1.0 Universalawesome-listawesome
nix-community.github.io/awesome-nix/
5.3k203