Nix expressions for managing hosts, dotfiles, packages etc.
Go to file
Oystein Kristoffer Tveit aea736c2df
tsuki: remove a lot of unused services
Removed:
- dokuwiki (this was never properly set up)
- libvirt (this is already a virtual machine, double virtualization bad)
- openldap (this will become the responsibility of keycloak)
- openvpn (this will become the responsibility of head/tailscale)
- samba (this is now the responsibility of TrueNAS)
- searx (I never used this)
- gitlab (this has become the responsibility of gitea and hydra)
- syncthing (this was never properly set up)

The nix cache nginx entry is also paused, as it wasn't functional.

In this commit and the previous commit, the nginx config for the
minecraft server was also taken down, as the whole host is deleted.
The plan is to set it up again, this time using tsuki.
2023-01-03 22:52:24 +01:00
home bi-annual nixos upgrade: `22.05` -> `22.11` 2022-11-26 22:50:17 +01:00
hosts tsuki: remove a lot of unused services 2023-01-03 22:52:24 +01:00
lib lib: move lib extensions into its own module argument 2022-11-19 16:14:18 +01:00
modules shell: update fixdisplay command 2022-11-20 17:12:27 +01:00
.gitignore Add result to gitignore 2022-04-10 19:01:02 +02:00
README.md Add README 2022-08-19 02:35:41 +02:00
flake.lock bi-annual nixos upgrade: `22.05` -> `22.11` 2022-11-26 22:50:17 +01:00
flake.nix tsuki: add maunium stickerpickers 2023-01-03 22:46:21 +01:00

README.md

built with nix

Nix Dotfiles

These are my dotfiles for several nix machines. The folder structure looks somewhat like this:

Directory Purpose
flake.nix The root of everyting. Defines the inputs and outputs of the project. See Nix Flakes for more information.
/pkgs Custom packages that doesn't exist in nixpkgs. The code is also too "dirty" to add them to nixpkgs (yet).
/modules Custom modules that I use to make my own set of "arguments" and options for the rest of the configuration.
/overlays/lib Additions of helper functions to the standard library.
/hosts Machine specific NixOS configurations.
/hosts/common.nix Configuration that should be equal for all NixOS machines (or at least change based on other module options).
/home All user specific configuration, using home-manager
/home/shellOptions.nix Settings (mostly command aliases) for all shells.
/home/packages.nix A list of packages that should be available only to the user. This is where most of the installed packages are defined.

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.
Kasei AMD CPU / Nvidia GFX based desktop computer Semi-daily driver. This is my main computer at home. Most of the configuration written in /home is made specifically for this computer, since Eisei is out of service at the moment.
Eisei HP Laptop At the moment, this laptop is not in use. I've found that I'm not able to use NixOS quickly enough in a university environment where I need to rapidly install software and maintain project configurations (Makefile, Maven, django, npm, etc...) for several subjects. In addition to the configurations, some of the software is not available on NixOS. As a result, I would the be forced to package or FHS a lot of stuff in order to do anything productive. I might return to using NixOS on my laptop in the future.

Nix Secrets

Some options that are sensitive have been redacted from the files, and put into another repo. Some of the secrets are available through the secrets input, others are direct module configuration that is importet in /home/home.nix. Although this repo is required for this project to work, most of the options should be named in a way that their value type is almost guessable.