My NixOS configuration
Find a file
Felix Schröter abfc044256
fix(restic): fix ~/dev backups
Previously, since we created a new copy of ~/dev prior to every backup
run, we caused new ctimes to be set every time which lead to many
changed files on every backup run.
This change removes the deletion of ~/dev-backup after backups and
ensures deleted files get removed from ~/dev-backup as well.
This change should also drastically reduce download bandwidth during prunes.
2022-08-26 16:29:10 +02:00
desktop fix: add wl-clipboard 2022-06-29 17:56:09 +02:00
hardware feat(hardware): change zstd compression level 2022-08-08 22:59:27 +02:00
home refactor(editors): use nvim-lighbulb setup function 2022-08-25 22:26:15 +02:00
lib feat: improve flake structure 2021-08-08 17:48:48 +02:00
modules chore(nix): switch to stable nix package 2022-05-19 02:59:04 +02:00
pkgs/deconz feat: update deconz 2022-08-03 01:30:46 +02:00
scripts feat(scripts): add zstd compression level option 2022-08-02 20:09:27 +02:00
secrets fix: fix immich config 2022-08-06 18:42:58 +02:00
services fix(restic): fix ~/dev backups 2022-08-26 16:29:10 +02:00
system chore(vpn): simplify config 2022-08-25 22:28:20 +02:00
templates docs: update dotnet template 2021-03-04 15:11:09 +01:00
virtualisation feat(virtualisation): switch from docker to podman 2022-08-08 23:41:47 +02:00
.editorconfig style: add .editorconfig 2020-03-21 16:54:32 +01:00
.env.example chore: add restic variables to .env.example 2022-05-12 11:45:10 +02:00
.envrc chore: add restic secrets to .env 2022-05-09 12:26:12 +02:00
.gitignore chore: extend .gitignore 2022-08-08 23:00:01 +02:00
.gitlab-ci.yml build(ci): add check job & improve build 2022-08-10 12:26:39 +02:00
flake.lock chore(flake): update inputs 2022-08-11 10:53:13 +02:00
flake.nix feat(flake): add pre-commit to checks 2022-08-08 23:53:33 +02:00
home-pc.nix chore: update state version 2022-08-12 12:30:01 +02:00
home-server.nix feat(genie): disable client again 2022-08-12 17:14:16 +02:00
LICENSE add LICENSE 2020-07-03 08:48:51 +00:00
README.md docs: update README 2022-08-25 22:20:42 +02:00
work-pc.nix chore: update state version 2022-08-12 12:30:01 +02:00

felschr's NixOS configuration

Installation

Clone the configuration into /etc/nixos.

On a new machine run:

scripts/setup-partitions

Then move the resulting /mnt/etc/nixos/hardware-configuration.nix to ./hardware/<config>.nix. Update the configuration according to the script output, if necessary. Btrfs mount options likely need to be added, for example. Copy the configuration from /etc/nixos to /mnt/etc/nixos.

Reference this hardware config in a nixosConfigurations.<config> section in flake.nix.

To install run the following command where <config> matches outputs.nixosConfigurations.<config> in flake.nix:

nixos-install --flake '/mnt/etc/nixos#<config>'

After the installation finished, set a password for the user:

passwd <user>

Updating

Update all flake inputs:

nix flake update

Update a specific flake input:

nix flake lock --update-input <input>

Rebuilding the system

Rebuild the system:

sudo nixos-rebuild switch

Rebuild the system for a remote machine:

sudo nixos-rebuild switch --flake '/etc/nixos#<config>' --target-host user@hostname --use-remote-sudo