1
0
Fork 0

Some more little cleanups

This commit is contained in:
Aires 2024-05-23 23:50:42 -04:00
parent 71b9db44d6
commit 9582f161c6
9 changed files with 32 additions and 36 deletions

View file

@ -9,7 +9,7 @@ A full set of configuration files managed via NixOS. This project follows the ge
### Note on secrets management ### Note on secrets management
Secrets are stored in a separate repo called `nix-secrets`, which is included here as a submodule. It gets pulled into the main config via `hosts/common/default.nix`. This is a poor man's secret management solution, but y'know what, it works. These "secrets" will be readable to users on the system with access to the `/nix/store/`, but for single-user systems, it's fine. Secrets are stored in a separate repo called `nix-secrets`, which is included here as a flake input. This is a poor man's secret management solution, but y'know what, it works. These "secrets" will be readable to users on the system with access to the `/nix/store/`, but for single-user systems, it's fine.
Initialize the submodule with: Initialize the submodule with:
@ -111,7 +111,7 @@ To add a new host:
1. Create a new folder in `hosts/`. 1. Create a new folder in `hosts/`.
2. Copy `hosts/configuration.nix.template` into this folder and name it `default.nix`. 2. Copy `hosts/configuration.nix.template` into this folder and name it `default.nix`.
3. Run `nixos-hardware-configuration` on the host and copy its `hardware-configuration.nix` file here. You might also want to check the `configuration.nix` generated by this command to see if there's anything you should import into your host's `default.nix`. 3. Run `nixos-hardware-configuration` on the host and copy its `hardware-configuration.nix` file here. You might also want to check the `configuration.nix` generated by this command to see if there's anything you should import into your host's `default.nix`.
4. Configure `/hosts/<host>default.nix` however you'd like. 4. Configure `/hosts/<host>/default.nix` however you'd like.
5. Add the new host to `flake.nix`. 5. Add the new host to `flake.nix`.
5. Run `nix flake update` and `nixos-rebuild boot --flake .#<Hostname>`. 5. Run `nix flake update` and `nixos-rebuild boot --flake .#<Hostname>`.
@ -121,11 +121,10 @@ To add a new host:
This config uses two systems: Flakes, and Home-manager. This config uses two systems: Flakes, and Home-manager.
- Flakes are the entrypoint, via `flake.nix`. This is where you include Flake modules and define Flake-specific options. - Flakes are the entrypoint, via `flake.nix`. This is where Flake inputs and Flake-specific options get defined.
- Home-manager configs live in the `users/` folders. Each user gets its own `home-manager.nix` file too. - Home-manager configs live in the `users/` folders.
- Modules are stored in `modules`. All of these files are automatically imported; you simply enable the ones you want to use, and disable the ones you don't. For example, to install Flatpak, set `host.ui.flatpak.enable = true;`. - Modules are stored in `modules`. All of these files are automatically imported (except home-manager modules); you simply enable the ones you want to use, and disable the ones you don't. For example, to install Flatpak, set `host.ui.flatpak.enable = true;`.
- After adding a new module, make sure to `git add` it. - After adding a new module, make sure to `git add` it.
- Modules are automatically imported - see `autoimport.nix`.
### Features ### Features
@ -133,13 +132,13 @@ This Nix config features:
- Flakes - Flakes
- Home Manager - Home Manager
- AMD, Intel, and Raspberry Pi hardware configurations - AMD, Intel, and Raspberry Pi (ARM64) hardware configurations
- Workstation and server base system configurations - Workstation and server base system configurations
- GNOME desktop environment with KDE integrations - GNOME desktop environment with KDE integrations
- Boot splash screens via Plymouth - Boot splash screens via Plymouth
- Secure Boot and TPM - Secure Boot and TPM
- Disk encryption via LUKS - Disk encryption via LUKS
- Custom packages and systemd services (Duplicacy Web) - Custom packages and systemd services
- Flatpaks - Flatpaks
- Default ZSH shell using Oh My ZSH - Default ZSH shell using Oh My ZSH
- Secrets (in a janky hacky kinda way) - Secrets (in a janky hacky kinda way)

View file

@ -159,7 +159,6 @@
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "master",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -218,11 +217,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1715885250, "lastModified": 1716506851,
"narHash": "sha256-IUFYAl3158Ig5vySnRBHoPReb2/S97bjodCo6FhzJv4=", "narHash": "sha256-fzY708SyfHwLOFrg5ZU0fXW9mNdvRvqz64jg97vvpJM=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "53d713eb486f21d653af3ef3528e9a19ecfc45e5", "rev": "18fa4a89e208cb8e881f5f71c75bbd4c1c2fd37d",
"revCount": 81, "revCount": 83,
"type": "git", "type": "git",
"url": "https://git.lix.systems/lix-project/nixos-module" "url": "https://git.lix.systems/lix-project/nixos-module"
}, },
@ -250,11 +249,11 @@
"nix-secrets": { "nix-secrets": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1716476738, "lastModified": 1716494193,
"narHash": "sha256-xeGy/omF4PykBsyzc7SfEd28/nyNNlvuLAk4FxCqvZM=", "narHash": "sha256-N/23Gj51yL/mi+ReaJYGvRbP0Gw0BwZGho6fs1ZKB5s=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "6c75cdf7bafb4ccb6ae6580f10a9c44313b5dc9a", "rev": "dff720d59e1ea51d35dbd1acd9dd1ccdbb26fddc",
"revCount": 36, "revCount": 37,
"type": "git", "type": "git",
"url": "file:///home/aires/Development/nix-configuration/nix-secrets" "url": "file:///home/aires/Development/nix-configuration/nix-secrets"
}, },
@ -265,16 +264,16 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1716214200, "lastModified": 1716511749,
"narHash": "sha256-ivQlBlSxC1mrBepFc3CeqUqFcsoQelpgxseA7YYtyAw=", "narHash": "sha256-SIW5ra4BfUI8KfXS3j+UifZwRXY/0MRrUfy+CLRQVZ4=",
"owner": "8bitbuddhist", "owner": "8bitbuddhist",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "704f05a3c8f8beb1d08837f43670c44946faad66", "rev": "85cc8776261d7ff350ba2520f6ca856917c474c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "8bitbuddhist", "owner": "8bitbuddhist",
"ref": "surface-pro-9-disable-psr", "ref": "lenovo-16ARHA7-remove-speaker-fix",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"type": "github" "type": "github"
} }

View file

@ -25,11 +25,11 @@
nix-flatpak.url = "github:gmodena/nix-flatpak/v0.4.1"; nix-flatpak.url = "github:gmodena/nix-flatpak/v0.4.1";
# Hardware configurations # Hardware configurations
nixos-hardware.url = "github:8bitbuddhist/nixos-hardware/surface-pro-9-disable-psr"; nixos-hardware.url = "github:8bitbuddhist/nixos-hardware/lenovo-16ARHA7-remove-speaker-fix";
# Home-manager # Home-manager
home-manager = { home-manager = {
url = "github:nix-community/home-manager/master"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; # Use system packages list where available inputs.nixpkgs.follows = "nixpkgs"; # Use system packages list where available
}; };

View file

@ -8,7 +8,6 @@
role = "workstation"; role = "workstation";
apps = { apps = {
development.enable = true; development.enable = true;
kdeconnect.enable = true;
media.enable = true; media.enable = true;
office.enable = true; office.enable = true;
writing.enable = true; writing.enable = true;

View file

@ -8,9 +8,14 @@
let let
start-haven = pkgs.writeShellScriptBin "start-haven" (builtins.readFile ./start-haven.sh); start-haven = pkgs.writeShellScriptBin "start-haven" (builtins.readFile ./start-haven.sh);
subdomains = map (subdomain: subdomain + ".${config.secrets.networking.primaryDomain}") [ # subdomains = map (subdomain: subdomain + ".${config.secrets.networking.primaryDomain}") [
"code" # "code"
"music" # "music"
# ];
subdomains = [
config.secrets.services.airsonic.url
config.secrets.services.forgejo.url
]; ];
in in
{ {
@ -21,7 +26,6 @@ in
host = { host = {
role = "server"; role = "server";
apps.development.kubernetes.enable = true;
services = { services = {
acme = { acme = {
enable = true; enable = true;

View file

@ -9,7 +9,6 @@
role = "workstation"; role = "workstation";
apps = { apps = {
development.enable = true; development.enable = true;
kdeconnect.enable = true;
media.enable = true; media.enable = true;
office.enable = true; office.enable = true;
recording.enable = true; recording.enable = true;

View file

@ -28,13 +28,9 @@ in
host = { host = {
role = "workstation"; role = "workstation";
apps = { apps = {
development = { development.enable = true;
enable = true;
kubernetes.enable = true;
};
dj.enable = true; dj.enable = true;
gaming.enable = true; gaming.enable = true;
kdeconnect.enable = false;
media.enable = true; media.enable = true;
office.enable = true; office.enable = true;
recording.enable = true; recording.enable = true;

View file

@ -46,7 +46,7 @@ in
"-Dserver.use-forward-headers=true" "-Dserver.use-forward-headers=true"
"-Xmx4G" # Increase Java heap size to 4GB "-Xmx4G" # Increase Java heap size to 4GB
]; ];
} // lib.optionalAttrs (cfg.home != null) { home = cfg.home; }; } // lib.optionalAttrs (cfg.home != "") { home = cfg.home; };
}; };
systemd.services = { systemd.services = {

@ -1 +1 @@
Subproject commit 6c75cdf7bafb4ccb6ae6580f10a9c44313b5dc9a Subproject commit dff720d59e1ea51d35dbd1acd9dd1ccdbb26fddc