My NixOS configuration
This repository contains my personal NixOS configuration, managed using Nix Flakes.
-
flake.nix
: The entry point for the Nix Flake, defining inputs and outputs. -
configuration.nix
: The main NixOS configuration file, importing other modules. -
hardware-configuration.nix
: Hardware-specific configuration (generated by NixOS). -
personal-config.nix
: Personal configuration options. -
modules/
: Directory containing modular NixOS configurations:system.nix
: System-wide settings and packages.networking.nix
: Network-related configurations.users.nix
: User account settings.services.nix
: Service configurations (e.g., SSH, Caddy).
-
home/
: Home-Manager configurations:default.nix
: Main Home-Manager configuration.programs.nix
: User-specific program configurations.shell.nix
: Shell-related configurations (e.g., aliases, prompt).desktop.nix
: Desktop environment and related program configs.
-
overlays/
: Custom Nix overlays:freecad.nix
: Custom overlay for FreeCAD.
-
implement nix-authentic
-
set up sveltekit devshell to auto start web server
-
implement oidc for auth in sveltekit app using lucia https://lucia-auth.com/tutorials/google-oauth/sveltekit
-
implement nextcloud
-
implement arr-nix for arr suite and make use nix-authentic
-
implement https://github.com/pulsejet/memories or https://github.com/immich-app/immich
-
implement actual-budget server
-
implement manga sync server for mihon
-
implement ai suite and expose through site
- Uses Nix Flakes for reproducible builds and easier management.
- Integrates Home-Manager for user-specific configurations.
- Implements custom overlays (e.g., for FreeCAD).
- Utilizes SOPS for secret management.
- Configures various services including Caddy as a web server.
- Sets up a development environment with tools like VSCodium, Git, and Alacritty.
To rebuild and switch to this configuration:
sudo nixos-rebuild switch --flake .#nixos
To update all inputs:
nix flake update
To customize this configuration:
- Modify
personal-config.nix
with your personal details. - Edit files in the
modules/
directory to change system-wide settings. - Adjust files in the
home/
directory for user-specific configurations. - Add or modify services in
modules/services.nix
. - Create or edit overlays in the
overlays/
directory for custom package modifications.
Remember to rebuild your system after making changes.