Nix expressions for managing hosts, dotfiles, packages etc.
Go to file
2024-12-02 12:07:39 +01:00
home common: fix global wireshark permissions 2024-12-02 12:07:39 +01:00
hosts common: fix global wireshark permissions 2024-12-02 12:07:39 +01:00
lib extendedLib: attrsets.concatAttrs -> lib.mergeAttrsList 2024-09-26 10:14:42 +02:00
modules {tsuki/dosei}: set up wstunnel 2024-06-29 13:48:40 +02:00
package-overrides mozc/jawiki: bump 2024-11-15 12:10:50 +01:00
secrets {tsuki,dosei}: use sops templates for wstunnel 2024-12-02 08:14:49 +01:00
.envrc .envrc: init 2024-08-03 02:25:37 +02:00
.gitignore gitignore: add rule ignoring all nix result types 2023-05-08 02:47:43 +02:00
.sops.yaml hosts/europa: init 2024-07-18 15:10:36 +02:00
flake.lock flake.lock: bump 2024-11-29 01:32:04 +01:00
flake.nix flake.nix: remove overlayed calibre 2024-11-29 01:32:44 +01:00
LICENSE add LICENSE 2024-08-03 02:22:17 +02:00
README.md README: add a few useful commands 2024-11-28 16:33:51 +01:00

built with nix

Nix Dotfiles

These are my dotfiles for several nix machines. Here are some of the interesting files and dirs:

Path Purpose
/home home-manager configuration.
/hosts Machine specific NixOS configurations.
/hosts/common/default.nix Configuration that is equal for all hosts.
/lib Custom lib functions that has not been upstreamed (or should not be) to nixpkgs. I'm trying to phase these out as much as possible.
/modules Custom nixos modules that I use in my own configuration. If you see options that does not appear in NixOS Search, they might be defined here.
/package-overrides Updated or pinned versions of packages that have not been upstreamed to nixpkgs (yet).
/secrets Encrypted sops-nix secrets.
flake.nix The root of everyting. Defines the inputs and outputs of the project. Also applies misc overlays and adds config-wide modules. See Nix Flakes for more information.

Hosts

Host Machine type Purpose
Tsuki Dell Poweredge r710 server Data storage / Build server / Selfhosted services. This server hosts a wide variety of services, including websites, matrix server, git repos, CI/CD and more. This is probably the most interesting machine to pick config from
Kasei AMD Zen 2 CPU / AMD GPU - desktop computer Semi-daily driver. This is my main computer at home.
Dosei Dell Optiplex Work computer, mostly used for development and testing.
Europa Dell Optiplex Other work computer, used as nix builder for Dosei.

home-manager configuration

Path Purpose
/home/config Configuration for everything that is not a program, nor a service, and are big enough to warrant their own file or directory.
/home/modules Custom home-manager modules.
/home/packages.nix A list of packages that should be included in the environment.
/home/programs Configuration for programs that have their own home-manager modules.
/home/services Configuration for services/daemons that are user-specific.
/home/shell.nix Shell-agnostic configuration. This includes aliases, envvars, functions, etc.

Some useful long commands

Build configuration without switching:

nix build .#nixosConfigurations.tsuki.config.system.build.toplevel -L

Check why configuration depends on package:

NIXPKGS_ALLOW_INSECURE=1 nix why-depends .#nixosConfigurations.tsuki.config.system.build.toplevel .#pkgs.suspiciousPackage

Re-encrypt sops secrets with new key:

sops updatekeys secrets/hosts/file.yml