This repository contains my personal NixOS configurations, including system and home environment setups. It leverages Nix flakes for reproducibility and ease of management.
Highlights:
- Extensively configured and fully declarative KDE Plasma 6 environment
- Declarative encrypted BTRFS partitions using disko
- Deployment secrets using sops-nix
My configuration structure is based on misterio77's nix config, with some adjustments for my use.
.sops.yaml
: Configuration forsops
andsops-nix
.shell.nix
: devShell configuration.flake.nix
: Entrypoint for hosts and home configurations. Also exposes a devShell for boostrapping (nix develop
ornix-shell
).home/
: Home environment configurations.hosts/
: Host-specific configurations.modules/
: NixOS and home-manager modules, that I haven't upstreamed yet.overlays/
: Patches and version overrides for some packages. Accessible vianix build
.pkgs/
: My custom packages. Also accessible vianix build
.
All you need is nix (any version). Run:
nix-shell
If you already have nix 2.4+, git, and have already enabled flakes
and
nix-command
, you can also use the non-legacy command:
nix develop
nixos-rebuild --flake .
To build system and user configurations
nix build
(or shell or run) To build and use packages
sops
To manage secrets
For deployment secrets (such as user passwords and server service secrets), I'm
using the awesome sops-nix
. All secrets are encrypted with relevant systems's SSH host keys.
Most relevant user apps daily drivers:
- KDE Plasma 6 + plasma-manager
- Neovim
- Konsole
- Firefox + betterfox user.js
- Fish
- KDE Connect
This repository is licensed under the MIT License. See the LICENSE file for details.