This repository contains configurations for various programs & Nix(OS).
This Nix(OS) section of this repository is located in the nixos directory.
- bug: tmux/terminal reads C-i as <tab>
- notes sync
- deploying to apollo (nixOS) via colmena causes nixGL to fail to recognize the nvidia driver
- keyboard layout "UNKNOWN" at login
- Switch to niri
- some dependencies that require secrets start before agenix.service has had the chance to run
- Get rid of the dependency on a static LAN ip address (potentially using DDNS)
- improvement: migrate to Traefik
- k3s setup on apollo
- disko setup on apollo
nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
nix-channel --update
nix-shell '<home-manager>' -A installnix profile add 'github:numtide/system-manager'docker compose run --remove-orphans check- The
nixos/hostscontains theconfiguration.nixfiles for each of my machines that runs NixOS. - Each host is assigned a separate folder.
- The creation of users is managed by the
configuration.nixbut all the user related configuration is handled byhome-manager. The common link between the created user and configured user is just the username & hostname ("<username>@<hostname>".
- The
usersdirectory under each host in the nixos/hosts directory is the home-manager configuration for a specific user for that host. - Each user has a
<username>/default.nixfile that's the entrypoint for that user for home-manager.
- This directory contains all the home-manager modules that are shared by multiple users across multiple hosts
- This directory contains all the nixos modules that are shared by multiple hosts.
- This directory contains all the overlays for nixpkgs used by both nixos and home-manager.
- This is the file that maps *.age files inside the
${ROOT}/secretsdirectory to variables that are used by various home-manager & nixos modules.
- the
secretsdirectory contains all the age encrypted files managed by agenix for both home-manager & nixos modules.
This is the entry point for both the home-manager & NixOS.
Since we are using a nixos/flake.lock file, we need to update the flake inputs using the command below.
rake nix:flake:update# CHECK CURRENT SYSTEM
rake nix:flake:check
# CHECK ALL SYSTEMS
rake nix:flake:check:all# USING REMOTE CACHE
rake nix:os:install
# WITHOUT USING REMOTE CACHE
rake nix:os:install:offline# USING REMOTE CACHE
rake nix:home:install
# USING REMOTE CACHE AND BACKUP CONFLICTING FILE OVERWRITES
rake nix:home:install:backup
# WITHOUT USING REMOTE CACHE
rake nix:home:install:offline
# WITHOUT USING REMOTE CACHE AND BACKUP CONFLICTING FILE OVERWRITES
rake nix:home:install:offline:backup