mirror of
https://github.com/genebean/dots.git
synced 2026-03-28 18:07:43 -04:00
Compare commits
No commits in common. "f830613ded458d9cc1ebc8cac82a5328f9153eb4" and "1312755c4b75a8c7555e6355ef6dedad320712e8" have entirely different histories.
f830613ded
...
1312755c4b
77 changed files with 773 additions and 1426 deletions
27
.github/workflows/validate.yml
vendored
27
.github/workflows/validate.yml
vendored
|
|
@ -1,27 +0,0 @@
|
||||||
name: Validate
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
validate:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- uses: cachix/install-nix-action@v26
|
|
||||||
with:
|
|
||||||
extra_nix_config: |
|
|
||||||
trusted-users = root @runner
|
|
||||||
|
|
||||||
- name: Validate flake
|
|
||||||
run: nix flake show
|
|
||||||
|
|
||||||
- name: Check formatting
|
|
||||||
run: nix fmt --check .
|
|
||||||
|
|
||||||
- name: Run deadnix
|
|
||||||
run: deadnix ./modules ./lib
|
|
||||||
|
|
||||||
- name: Run statix
|
|
||||||
run: statix check ./modules ./lib
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
repos:
|
|
||||||
- repo: local
|
|
||||||
hooks:
|
|
||||||
- id: nixfmt
|
|
||||||
name: nixfmt
|
|
||||||
entry: nixfmt
|
|
||||||
language: system
|
|
||||||
types: [nix]
|
|
||||||
pass_filenames: false
|
|
||||||
args: ["."]
|
|
||||||
|
|
||||||
- id: deadnix
|
|
||||||
name: deadnix
|
|
||||||
entry: deadnix
|
|
||||||
language: system
|
|
||||||
types: [nix]
|
|
||||||
args: ["./modules", "./lib"]
|
|
||||||
|
|
||||||
|
|
@ -60,8 +60,6 @@ creation_rules:
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *system_rainbow_planet
|
- *system_rainbow_planet
|
||||||
- path_regex: ^\.pre-commit-config\.yaml$
|
|
||||||
# Plain YAML file, not encrypted
|
|
||||||
- path_regex: modules/shared/secrets.yaml$
|
- path_regex: modules/shared/secrets.yaml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,10 @@
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = inputs@{ self, ... }: let
|
||||||
inputs@{ self, ... }:
|
|
||||||
let
|
|
||||||
# Import helper functions from lib/
|
# Import helper functions from lib/
|
||||||
localLib = import ./lib { inherit inputs; };
|
localLib = import ./lib { inherit inputs; };
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
# Darwin (macOS) hosts
|
# Darwin (macOS) hosts
|
||||||
darwinConfigurations = {
|
darwinConfigurations = {
|
||||||
mightymac = localLib.mkDarwinHost {
|
mightymac = localLib.mkDarwinHost {
|
||||||
|
|
|
||||||
202
flake.lock
generated
202
flake.lock
generated
|
|
@ -69,25 +69,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"deadnix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"utils": "utils"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1764114543,
|
|
||||||
"narHash": "sha256-+C39E8qmGODT6eB0rhE/VX+DcekXW/Xww5IL/xlERNY=",
|
|
||||||
"owner": "astro",
|
|
||||||
"repo": "deadnix",
|
|
||||||
"rev": "d590041677add62267bef35ddec63cd9402d3505",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "astro",
|
|
||||||
"repo": "deadnix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"disko": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -130,28 +111,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fenix_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"statix",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"rust-analyzer-src": "rust-analyzer-src_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1645251813,
|
|
||||||
"narHash": "sha256-cQ66tGjnZclBCS3nD26mZ5fUH+3/HnysGffBiWXUSHk=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "fenix",
|
|
||||||
"rev": "9892337b588c38ec59466a1c89befce464aae7f8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "fenix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -238,7 +197,7 @@
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
"nix-unit-src": "nix-unit-src",
|
"nix-unit-src": "nix-unit-src",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs",
|
||||||
"pre-commit-hooks": "pre-commit-hooks"
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -349,11 +308,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773264488,
|
"lastModified": 1772985280,
|
||||||
"narHash": "sha256-rK0507bDuWBrZo+0zts9bCs/+RRUEHuvFE5DHWPxX/Q=",
|
"narHash": "sha256-FdrNykOoY9VStevU4zjSUdvsL9SzJTcXt4omdEDZDLk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "5c0f63f8d55040a7eed69df7e3fcdd15dfb5a04c",
|
"rev": "8f736f007139d7f70752657dff6a401a585d6cbc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -372,11 +331,11 @@
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773371628,
|
"lastModified": 1772680513,
|
||||||
"narHash": "sha256-G9+d9C/7hz8qBFHOCzdH34Cj6MBNOlE9kCNfF+PKPZM=",
|
"narHash": "sha256-zwVeM1TgfwMIq026uln9hqcCIINsLv6jEjztPqx0q+U=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "nix-auth",
|
"repo": "nix-auth",
|
||||||
"rev": "09a9b568631cfbf4a70058bbff495b7e854aedc4",
|
"rev": "77c07e9a107972dd2170da6da9ed1e73e65c4a4a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -521,16 +480,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763934636,
|
"lastModified": 1742889210,
|
||||||
"narHash": "sha256-9glbI7f1uU+yzQCq5LwLgdZqx6svOhZWkd4JRY265fc=",
|
"narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=",
|
||||||
"owner": "NixOS",
|
"owner": "flox",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ee09932cedcef15aaf476f9343d1dea2cb77e261",
|
"rev": "698214a32beb4f4c8e3942372c694f40848b360d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "flox",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "stable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -552,11 +511,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773231277,
|
"lastModified": 1772956932,
|
||||||
"narHash": "sha256-Xy3WEpUAbpsz8ydgvVAQAGGB/WB+8cNA5cshiL0McTI=",
|
"narHash": "sha256-M0yS4AafhKxPPmOHGqIV0iKxgNO8bHDWdl1kOwGBwRY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "75690239f08f885ca9b0267580101f60d10fbe62",
|
"rev": "608d0cadfed240589a7eea422407a547ad626a14",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -567,22 +526,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1742889210,
|
|
||||||
"narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=",
|
|
||||||
"owner": "flox",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "698214a32beb4f4c8e3942372c694f40848b360d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "flox",
|
|
||||||
"ref": "stable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770107345,
|
"lastModified": 1770107345,
|
||||||
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
||||||
|
|
@ -598,13 +541,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773375660,
|
"lastModified": 1773068389,
|
||||||
"narHash": "sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=",
|
"narHash": "sha256-vMrm7Pk2hjBRPnCSjhq1pH0bg350Z+pXhqZ9ICiqqCs=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3e20095fe3c6cbb1ddcef89b26969a69a1570776",
|
"rev": "44bae273f9f82d480273bab26f5c50de3724f52f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -614,22 +557,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1645013224,
|
|
||||||
"narHash": "sha256-b7OEC8vwzJv3rsz9pwnTX2LQDkeOWz2DbKypkVvNHXc=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "b66b39216b1fef2d8c33cc7a5c72d8da80b79970",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"onchg": {
|
"onchg": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nix-pre-commit": "nix-pre-commit",
|
"nix-pre-commit": "nix-pre-commit",
|
||||||
|
|
@ -704,7 +631,6 @@
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"compose2nix": "compose2nix",
|
"compose2nix": "compose2nix",
|
||||||
"deadnix": "deadnix",
|
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"flox": "flox",
|
"flox": "flox",
|
||||||
"genebean-omp-themes": "genebean-omp-themes",
|
"genebean-omp-themes": "genebean-omp-themes",
|
||||||
|
|
@ -715,12 +641,11 @@
|
||||||
"nix-homebrew": "nix-homebrew",
|
"nix-homebrew": "nix-homebrew",
|
||||||
"nixos-cosmic": "nixos-cosmic",
|
"nixos-cosmic": "nixos-cosmic",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"private-flake": "private-flake",
|
"private-flake": "private-flake",
|
||||||
"simple-nixos-mailserver": "simple-nixos-mailserver",
|
"simple-nixos-mailserver": "simple-nixos-mailserver",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix"
|
||||||
"statix": "statix"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
|
|
@ -740,23 +665,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer-src_2": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1645205556,
|
|
||||||
"narHash": "sha256-e4lZW3qRyOEJ+vLKFQP7m2Dxh5P44NrnekZYLxlucww=",
|
|
||||||
"owner": "rust-analyzer",
|
|
||||||
"repo": "rust-analyzer",
|
|
||||||
"rev": "acf5874b39f3dc5262317a6074d9fc7285081161",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "rust-analyzer",
|
|
||||||
"ref": "nightly",
|
|
||||||
"repo": "rust-analyzer",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -788,11 +696,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773313890,
|
"lastModified": 1766537863,
|
||||||
"narHash": "sha256-NXm/kOAk7HLziH1uWaUbNb9MhDS8yxFfQ8fMK5eN8/A=",
|
"narHash": "sha256-HEt+wbazRgJYeY+lgj65bxhPyVc4x7NEB2bs5NU6DF8=",
|
||||||
"owner": "simple-nixos-mailserver",
|
"owner": "simple-nixos-mailserver",
|
||||||
"repo": "nixos-mailserver",
|
"repo": "nixos-mailserver",
|
||||||
"rev": "9cdd6869e513df8153db4b920c8f15d394e150f7",
|
"rev": "23f0a53ca6e58e61e1ea2b86791c69b79c91656d",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -822,50 +730,16 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"statix": {
|
|
||||||
"inputs": {
|
|
||||||
"fenix": "fenix_2",
|
|
||||||
"nixpkgs": "nixpkgs_5"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1676888642,
|
|
||||||
"narHash": "sha256-C73LOMVVCkeL0jA5xN7klLEDEB4NkuiATEJY4A/tIyM=",
|
|
||||||
"owner": "astro",
|
|
||||||
"repo": "statix",
|
|
||||||
"rev": "3c7136a23f444db252a556928c1489869ca3ab4e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "astro",
|
|
||||||
"repo": "statix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773297127,
|
"lastModified": 1772660329,
|
||||||
"narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=",
|
"narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "71b125cd05fbfd78cab3e070b73544abe24c5016",
|
"rev": "3710e0e1218041bbad640352a0440114b1e10428",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -873,24 +747,6 @@
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
21
flake.nix
21
flake.nix
|
|
@ -82,26 +82,12 @@
|
||||||
inputs.nixpkgs.follows ="nixpkgs";
|
inputs.nixpkgs.follows ="nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Linting and formatting
|
|
||||||
deadnix.url = "github:astro/deadnix";
|
|
||||||
statix.url = "github:astro/statix";
|
|
||||||
|
|
||||||
}; # end inputs
|
}; # end inputs
|
||||||
outputs =
|
outputs = inputs@{ self, ... }: let
|
||||||
inputs@{ self, nixpkgs, ... }:
|
|
||||||
let
|
|
||||||
# Functions that setup systems
|
# Functions that setup systems
|
||||||
localLib = import ./lib { inherit inputs; };
|
localLib = import ./lib { inherit inputs; };
|
||||||
forAllSystems = nixpkgs.lib.genAttrs [
|
|
||||||
"x86_64-linux"
|
|
||||||
"aarch64-linux"
|
|
||||||
"x86_64-darwin"
|
|
||||||
"aarch64-darwin"
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixfmt);
|
|
||||||
|
|
||||||
|
in {
|
||||||
# Darwin (macOS) hosts
|
# Darwin (macOS) hosts
|
||||||
darwinConfigurations = {
|
darwinConfigurations = {
|
||||||
AirPuppet = localLib.mkDarwinHost {
|
AirPuppet = localLib.mkDarwinHost {
|
||||||
|
|
@ -187,7 +173,6 @@
|
||||||
};
|
};
|
||||||
}; # end homeConfigurations
|
}; # end homeConfigurations
|
||||||
|
|
||||||
packages.aarch64-linux.kiosk-gene-desk-sdImage =
|
packages.aarch64-linux.kiosk-gene-desk-sdImage = self.nixosConfigurations.kiosk-gene-desk.config.system.build.sdImage;
|
||||||
self.nixosConfigurations.kiosk-gene-desk.config.system.build.sdImage;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
{ inputs, ... }:
|
{ inputs, ... }: let
|
||||||
let
|
|
||||||
mkDarwinHost = import ./mkDarwinHost.nix { inherit inputs; };
|
mkDarwinHost = import ./mkDarwinHost.nix { inherit inputs; };
|
||||||
mkHomeConfig = import ./mkHomeConfig.nix { inherit inputs; };
|
mkHomeConfig = import ./mkHomeConfig.nix { inherit inputs; };
|
||||||
mkNixosHost = import ./mkNixosHost.nix { inherit inputs; };
|
mkNixosHost = import ./mkNixosHost.nix { inherit inputs; };
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
inherit (mkDarwinHost) mkDarwinHost;
|
inherit (mkDarwinHost) mkDarwinHost;
|
||||||
inherit (mkHomeConfig) mkHomeConfig;
|
inherit (mkHomeConfig) mkHomeConfig;
|
||||||
inherit (mkNixosHost) mkNixosHost;
|
inherit (mkNixosHost) mkNixosHost;
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,17 @@
|
||||||
{ inputs, ... }:
|
{ inputs, ... }: {
|
||||||
{
|
mkDarwinHost = {
|
||||||
mkDarwinHost =
|
|
||||||
{
|
|
||||||
system ? "aarch64-darwin",
|
system ? "aarch64-darwin",
|
||||||
hostname,
|
hostname,
|
||||||
username ? "gene",
|
username ? "gene",
|
||||||
additionalModules ? [],
|
additionalModules ? [],
|
||||||
additionalSpecialArgs ? { },
|
additionalSpecialArgs ? {}
|
||||||
}:
|
}: inputs.nix-darwin.lib.darwinSystem {
|
||||||
inputs.nix-darwin.lib.darwinSystem {
|
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = {
|
specialArgs = { inherit inputs hostname username; } // additionalSpecialArgs;
|
||||||
inherit inputs hostname username;
|
|
||||||
}
|
|
||||||
// additionalSpecialArgs;
|
|
||||||
modules = [
|
modules = [
|
||||||
./nixpkgs-settings.nix
|
./nixpkgs-settings.nix
|
||||||
|
|
||||||
inputs.nix-homebrew.darwinModules.nix-homebrew
|
inputs.nix-homebrew.darwinModules.nix-homebrew {
|
||||||
{
|
|
||||||
nix-homebrew = {
|
nix-homebrew = {
|
||||||
enable = true; # Install Homebrew under the default prefix
|
enable = true; # Install Homebrew under the default prefix
|
||||||
user = "${username}"; # User owning the Homebrew prefix
|
user = "${username}"; # User owning the Homebrew prefix
|
||||||
|
|
@ -26,8 +19,7 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
inputs.home-manager.darwinModules.home-manager
|
inputs.home-manager.darwinModules.home-manager {
|
||||||
{
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs username; };
|
extraSpecialArgs = { inherit inputs username; };
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
|
|
@ -44,7 +36,6 @@
|
||||||
|
|
||||||
../modules/hosts/darwin # system-wide stuff
|
../modules/hosts/darwin # system-wide stuff
|
||||||
../modules/hosts/darwin/${hostname} # host specific stuff
|
../modules/hosts/darwin/${hostname} # host specific stuff
|
||||||
]
|
] ++ additionalModules; # end modules
|
||||||
++ additionalModules; # end modules
|
|
||||||
}; # end darwinSystem
|
}; # end darwinSystem
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,10 @@
|
||||||
{ inputs, ... }:
|
{ inputs, ... }: {
|
||||||
{
|
mkHomeConfig = {
|
||||||
mkHomeConfig =
|
|
||||||
{
|
|
||||||
homeDirectory,
|
homeDirectory,
|
||||||
system,
|
system,
|
||||||
username,
|
username,
|
||||||
}:
|
}: inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
inputs.home-manager.lib.homeManagerConfiguration {
|
extraSpecialArgs = { inherit inputs homeDirectory system username; };
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit
|
|
||||||
inputs
|
|
||||||
homeDirectory
|
|
||||||
system
|
|
||||||
username
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,19 @@
|
||||||
{ inputs, ... }:
|
{ inputs, ... }: {
|
||||||
{
|
mkNixosHost = {
|
||||||
mkNixosHost =
|
|
||||||
{
|
|
||||||
system ? "x86_64-linux",
|
system ? "x86_64-linux",
|
||||||
hostname,
|
hostname,
|
||||||
username ? "gene",
|
username ? "gene",
|
||||||
additionalModules ? [],
|
additionalModules ? [],
|
||||||
additionalSpecialArgs ? { },
|
additionalSpecialArgs ? {}
|
||||||
}:
|
}: inputs.nixpkgs.lib.nixosSystem {
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = {
|
specialArgs = { inherit inputs hostname username; } // additionalSpecialArgs;
|
||||||
inherit inputs hostname username;
|
|
||||||
}
|
|
||||||
// additionalSpecialArgs;
|
|
||||||
modules = [
|
modules = [
|
||||||
./nixpkgs-settings.nix
|
./nixpkgs-settings.nix
|
||||||
|
|
||||||
inputs.disko.nixosModules.disko
|
inputs.disko.nixosModules.disko
|
||||||
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager {
|
||||||
{
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs hostname username; };
|
extraSpecialArgs = { inherit inputs hostname username; };
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
|
|
@ -38,7 +31,6 @@
|
||||||
inputs.sops-nix.nixosModules.sops # system wide secrets management
|
inputs.sops-nix.nixosModules.sops # system wide secrets management
|
||||||
../modules/hosts/nixos # system-wide stuff
|
../modules/hosts/nixos # system-wide stuff
|
||||||
../modules/hosts/nixos/${hostname} # host specific stuff
|
../modules/hosts/nixos/${hostname} # host specific stuff
|
||||||
]
|
] ++ additionalModules;
|
||||||
++ additionalModules;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ inputs, ... }:
|
{ inputs, ... }: {
|
||||||
{
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
system.stateVersion = 4;
|
system.stateVersion = 4;
|
||||||
|
|
||||||
homebrew = {
|
homebrew = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ username, ... }:
|
{ username, ... }: {
|
||||||
{
|
|
||||||
home.stateVersion = "23.11";
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
sops = {
|
sops = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
{
|
|
||||||
system.stateVersion = 4;
|
system.stateVersion = 4;
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ username, ... }:
|
{ username, ... }: {
|
||||||
{
|
|
||||||
home.stateVersion = "23.11";
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,8 @@
|
||||||
{
|
{ pkgs, hostname, username, ... }: {
|
||||||
pkgs,
|
|
||||||
hostname,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
system.primaryUser = username;
|
system.primaryUser = username;
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
shells = with pkgs; [
|
shells = with pkgs; [ bash zsh ];
|
||||||
bash
|
|
||||||
zsh
|
|
||||||
];
|
|
||||||
pathsToLink = [
|
pathsToLink = [
|
||||||
"/Applications"
|
"/Applications"
|
||||||
"/share/zsh"
|
"/share/zsh"
|
||||||
|
|
@ -122,10 +113,7 @@
|
||||||
"flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs="
|
"flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs="
|
||||||
"cache.thalheim.io-1:R7msbosLEZKrxk/lKxf9BTjOOH7Ax3H0Qj0/6wiHOgc="
|
"cache.thalheim.io-1:R7msbosLEZKrxk/lKxf9BTjOOH7Ax3H0Qj0/6wiHOgc="
|
||||||
];
|
];
|
||||||
trusted-users = [
|
trusted-users = [ "@admin" "${username}" ];
|
||||||
"@admin"
|
|
||||||
"${username}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
# Generated by https://github.com/DeterminateSystems/nix-installer, version 0.11.0.
|
# Generated by https://github.com/DeterminateSystems/nix-installer, version 0.11.0.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ username, ... }:
|
{ username, ... }: {
|
||||||
{
|
|
||||||
# dawrwin-specific shell config
|
# dawrwin-specific shell config
|
||||||
programs = {
|
programs = {
|
||||||
zsh = {
|
zsh = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ inputs, pkgs, ... }:
|
{ inputs, pkgs, ... }: {
|
||||||
{
|
|
||||||
system.stateVersion = 4;
|
system.stateVersion = 4;
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, ... }:
|
{ config, ... }: {
|
||||||
{
|
|
||||||
home.stateVersion = "23.11";
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ config, pkgs, system, username, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
system,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
home.stateVersion = "25.05";
|
home.stateVersion = "25.05";
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
age
|
age
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
# Settings just for work machines go here
|
# Settings just for work machines go here
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
{
|
|
||||||
# Settings just for personal machines go here
|
# Settings just for personal machines go here
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ config, pkgs, username, ... }:
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
libbluray = pkgs.libbluray.override {
|
libbluray = pkgs.libbluray.override {
|
||||||
withAACS = true;
|
withAACS = true;
|
||||||
|
|
@ -13,8 +8,7 @@ let
|
||||||
vlc-with-decoding = pkgs.vlc.override { inherit libbluray; };
|
vlc-with-decoding = pkgs.vlc.override { inherit libbluray; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [ # Include the results of the hardware scan.
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../../shared/nixos/flatpaks.nix
|
../../../shared/nixos/flatpaks.nix
|
||||||
../../../shared/nixos/ripping.nix
|
../../../shared/nixos/ripping.nix
|
||||||
|
|
@ -49,6 +43,7 @@ in
|
||||||
zoom-us
|
zoom-us
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
@ -123,12 +118,7 @@ in
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Gene Liverman";
|
description = "Gene Liverman";
|
||||||
extraGroups = [
|
extraGroups = [ "networkmanager" "wheel" "dialout" "input" ];
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
"dialout"
|
|
||||||
"input"
|
|
||||||
];
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
kdePackages.kate
|
kdePackages.kate
|
||||||
# thunderbird
|
# thunderbird
|
||||||
|
|
|
||||||
|
|
@ -1,49 +1,31 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports =
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
"xhci_pci"
|
|
||||||
"nvme"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
"rtsx_pci_sdmmc"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [
|
boot.kernelModules = [ "kvm-intel" "sg" ];
|
||||||
"kvm-intel"
|
|
||||||
"sg"
|
|
||||||
];
|
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" =
|
||||||
device = "/dev/disk/by-uuid/9c2d2979-dc8d-40e0-9ec2-c3cce33cd832";
|
{ device = "/dev/disk/by-uuid/9c2d2979-dc8d-40e0-9ec2-c3cce33cd832";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" =
|
||||||
device = "/dev/disk/by-uuid/59CB-16DE";
|
{ device = "/dev/disk/by-uuid/59CB-16DE";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
"fmask=0077"
|
|
||||||
"dmask=0077"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices =
|
||||||
{ device = "/dev/disk/by-uuid/878ff032-3de0-4efe-a12f-8eccd0ac3253"; }
|
[ { device = "/dev/disk/by-uuid/878ff032-3de0-4efe-a12f-8eccd0ac3253"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }:
|
{ ... }: {
|
||||||
{
|
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
imports = [
|
imports = [
|
||||||
../../../shared/home/general/all-gui.nix
|
../../../shared/home/general/all-gui.nix
|
||||||
|
|
@ -28,3 +27,4 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,10 @@
|
||||||
{
|
{ hostname, pkgs, username, ... }: {
|
||||||
hostname,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
../shared/nixos/internationalisation.nix
|
../shared/nixos/internationalisation.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
shells = with pkgs; [
|
shells = with pkgs; [ bash zsh ];
|
||||||
bash
|
|
||||||
zsh
|
|
||||||
];
|
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
age
|
age
|
||||||
dconf2nix
|
dconf2nix
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,4 @@
|
||||||
{
|
{ inputs, pkgs, username, ... }: {
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
../../../shared/nixos/nixroutes.nix
|
../../../shared/nixos/nixroutes.nix
|
||||||
./disk-config.nix
|
./disk-config.nix
|
||||||
|
|
@ -94,10 +88,7 @@
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Gene Liverman";
|
description = "Gene Liverman";
|
||||||
extraGroups = [
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
];
|
|
||||||
linger = true;
|
linger = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,18 +4,11 @@
|
||||||
{ lib, modulesPath, ... }:
|
{ lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports =
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
||||||
"ahci"
|
|
||||||
"xhci_pci"
|
|
||||||
"virtio_pci"
|
|
||||||
"virtio_scsi"
|
|
||||||
"sd_mod"
|
|
||||||
"sr_mod"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
@ -32,3 +25,4 @@
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, username, ... }:
|
{ config, username, ... }: let
|
||||||
let
|
|
||||||
volume_base = "/var/lib/emqx";
|
volume_base = "/var/lib/emqx";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
# Based on docs at https://docs.emqx.com/en/emqx/latest/deploy/install-docker.html
|
# Based on docs at https://docs.emqx.com/en/emqx/latest/deploy/install-docker.html
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
"emqx" = {
|
"emqx" = {
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,7 @@
|
||||||
{
|
{ config, lib, pkgs, username, ... }: let
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
domain = "technicalissues.us";
|
domain = "technicalissues.us";
|
||||||
restic_backup_time = "01:00";
|
restic_backup_time = "01:00";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
../../../../shared/nixos/lets-encrypt.nix
|
../../../../shared/nixos/lets-encrypt.nix
|
||||||
../../../../shared/nixos/restic.nix
|
../../../../shared/nixos/restic.nix
|
||||||
|
|
@ -188,8 +180,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
nextcloud-config-collabora =
|
nextcloud-config-collabora = let
|
||||||
let
|
|
||||||
inherit (config.services.nextcloud) occ;
|
inherit (config.services.nextcloud) occ;
|
||||||
|
|
||||||
wopi_url = "http://[::1]:${toString config.services.collabora-online.port}";
|
wopi_url = "http://[::1]:${toString config.services.collabora-online.port}";
|
||||||
|
|
@ -200,13 +191,9 @@ in
|
||||||
"5.161.244.95"
|
"5.161.244.95"
|
||||||
"2a01:4ff:f0:977c::1"
|
"2a01:4ff:f0:977c::1"
|
||||||
];
|
];
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
wantedBy = ["multi-user.target"];
|
wantedBy = ["multi-user.target"];
|
||||||
after = [
|
after = ["nextcloud-setup.service" "coolwsd.service"];
|
||||||
"nextcloud-setup.service"
|
|
||||||
"coolwsd.service"
|
|
||||||
];
|
|
||||||
requires = ["coolwsd.service"];
|
requires = ["coolwsd.service"];
|
||||||
script = ''
|
script = ''
|
||||||
${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_url --value ${lib.escapeShellArg wopi_url}
|
${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_url --value ${lib.escapeShellArg wopi_url}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, ... }:
|
{ config, ... }: {
|
||||||
{
|
|
||||||
services.matrix-synapse = {
|
services.matrix-synapse = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configureRedisLocally = true;
|
configureRedisLocally = true;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }: let
|
||||||
let
|
|
||||||
metrics_server = "https://monitoring.home.technicalissues.us/remotewrite";
|
metrics_server = "https://monitoring.home.technicalissues.us/remotewrite";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services = {
|
services = {
|
||||||
vmagent = {
|
vmagent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -127,3 +125,4 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,16 @@
|
||||||
{ config, ... }:
|
{ config, ... }: let
|
||||||
let
|
|
||||||
mqtt_domain = "mqtt.technicalissues.us";
|
mqtt_domain = "mqtt.technicalissues.us";
|
||||||
in
|
in {
|
||||||
{
|
security.acme.certs.${mqtt_domain}.postRun = "systemctl restart ${config.systemd.services.mosquitto.name}";
|
||||||
security.acme.certs.${mqtt_domain}.postRun =
|
|
||||||
"systemctl restart ${config.systemd.services.mosquitto.name}";
|
|
||||||
|
|
||||||
services.mosquitto = {
|
services.mosquitto = {
|
||||||
enable = true;
|
enable = true;
|
||||||
bridges = {
|
bridges = {
|
||||||
liamcottle = {
|
liamcottle = {
|
||||||
addresses = [
|
addresses = [{
|
||||||
{
|
|
||||||
address = "mqtt.meshtastic.liamcottle.net";
|
address = "mqtt.meshtastic.liamcottle.net";
|
||||||
port = 1883;
|
port = 1883;
|
||||||
}
|
}];
|
||||||
];
|
|
||||||
topics = [
|
topics = [
|
||||||
"msh/# out 1 \"\""
|
"msh/# out 1 \"\""
|
||||||
];
|
];
|
||||||
|
|
@ -29,12 +24,10 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
meshtastic = {
|
meshtastic = {
|
||||||
addresses = [
|
addresses = [{
|
||||||
{
|
|
||||||
address = "mqtt.meshtastic.org";
|
address = "mqtt.meshtastic.org";
|
||||||
port = 1883;
|
port = 1883;
|
||||||
}
|
}];
|
||||||
];
|
|
||||||
topics = [
|
topics = [
|
||||||
"msh/# out 1 \"\""
|
"msh/# out 1 \"\""
|
||||||
];
|
];
|
||||||
|
|
@ -49,12 +42,10 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
homeassistant = {
|
homeassistant = {
|
||||||
addresses = [
|
addresses = [{
|
||||||
{
|
|
||||||
address = "homeasistant-lc.atlas-snares.ts.net";
|
address = "homeasistant-lc.atlas-snares.ts.net";
|
||||||
port = 1883;
|
port = 1883;
|
||||||
}
|
}];
|
||||||
];
|
|
||||||
topics = [
|
topics = [
|
||||||
"msh/US/2/e/LongFast/!a386c80 out 1 \"\""
|
"msh/US/2/e/LongFast/!a386c80 out 1 \"\""
|
||||||
"msh/US/2/e/LongFast/!b03bcb24 out 1 \"\""
|
"msh/US/2/e/LongFast/!b03bcb24 out 1 \"\""
|
||||||
|
|
@ -71,8 +62,7 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
listeners =
|
listeners = let
|
||||||
let
|
|
||||||
mqtt_users = {
|
mqtt_users = {
|
||||||
genebean = {
|
genebean = {
|
||||||
acl = [
|
acl = [
|
||||||
|
|
@ -87,8 +77,7 @@ in
|
||||||
hashedPasswordFile = config.sops.secrets.mosquitto_mountain_mesh.path;
|
hashedPasswordFile = config.sops.secrets.mosquitto_mountain_mesh.path;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in [
|
||||||
[
|
|
||||||
{
|
{
|
||||||
port = 1883;
|
port = 1883;
|
||||||
users = mqtt_users;
|
users = mqtt_users;
|
||||||
|
|
@ -97,11 +86,9 @@ in
|
||||||
{
|
{
|
||||||
port = 8883;
|
port = 8883;
|
||||||
users = mqtt_users;
|
users = mqtt_users;
|
||||||
settings =
|
settings = let
|
||||||
let
|
|
||||||
certDir = config.security.acme.certs."${mqtt_domain}".directory;
|
certDir = config.security.acme.certs."${mqtt_domain}".directory;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
allow_anonymous = false;
|
allow_anonymous = false;
|
||||||
keyfile = certDir + "/key.pem";
|
keyfile = certDir + "/key.pem";
|
||||||
certfile = certDir + "/cert.pem";
|
certfile = certDir + "/cert.pem";
|
||||||
|
|
@ -111,11 +98,9 @@ in
|
||||||
{
|
{
|
||||||
port = 9001;
|
port = 9001;
|
||||||
users = mqtt_users;
|
users = mqtt_users;
|
||||||
settings =
|
settings = let
|
||||||
let
|
|
||||||
certDir = config.security.acme.certs."${mqtt_domain}".directory;
|
certDir = config.security.acme.certs."${mqtt_domain}".directory;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
allow_anonymous = false;
|
allow_anonymous = false;
|
||||||
keyfile = certDir + "/key.pem";
|
keyfile = certDir + "/key.pem";
|
||||||
certfile = certDir + "/cert.pem";
|
certfile = certDir + "/cert.pem";
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,9 @@
|
||||||
{ config, ... }:
|
{ config, ... }: let
|
||||||
let
|
|
||||||
domain = "technicalissues.us";
|
domain = "technicalissues.us";
|
||||||
http_port = 80;
|
http_port = 80;
|
||||||
https_port = 443;
|
https_port = 443;
|
||||||
private_btc = "umbrel.atlas-snares.ts.net";
|
private_btc = "umbrel.atlas-snares.ts.net";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -136,36 +134,14 @@ in
|
||||||
};
|
};
|
||||||
"matrix.${domain}" = {
|
"matrix.${domain}" = {
|
||||||
listen = [
|
listen = [
|
||||||
{
|
{ port = http_port; addr = "0.0.0.0"; }
|
||||||
port = http_port;
|
{ port = http_port; addr = "[::]"; }
|
||||||
addr = "0.0.0.0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
port = http_port;
|
|
||||||
addr = "[::]";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{ port = https_port; addr = "0.0.0.0"; ssl = true; }
|
||||||
port = https_port;
|
{ port = https_port; addr = "[::]"; ssl = true; }
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "[::]";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{ port = 8448; addr = "0.0.0.0"; ssl = true; }
|
||||||
port = 8448;
|
{ port = 8448; addr = "[::]"; ssl = true; }
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
port = 8448;
|
|
||||||
addr = "[::]";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
|
|
@ -219,8 +195,7 @@ in
|
||||||
"/" = {
|
"/" = {
|
||||||
proxyPass = "http://127.0.0.1:8083";
|
proxyPass = "http://127.0.0.1:8083";
|
||||||
};
|
};
|
||||||
"/pub" = {
|
"/pub" = { # Client apps need to point to this path
|
||||||
# Client apps need to point to this path
|
|
||||||
extraConfig = "proxy_set_header X-Limit-U $remote_user;";
|
extraConfig = "proxy_set_header X-Limit-U $remote_user;";
|
||||||
proxyPass = "http://127.0.0.1:8083/pub";
|
proxyPass = "http://127.0.0.1:8083/pub";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,4 @@
|
||||||
{
|
{ inputs, pkgs, username, ... }: {
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
../../../shared/nixos/nixroutes.nix
|
../../../shared/nixos/nixroutes.nix
|
||||||
./disk-config.nix
|
./disk-config.nix
|
||||||
|
|
@ -62,10 +56,7 @@
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Gene Liverman";
|
description = "Gene Liverman";
|
||||||
extraGroups = [
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
];
|
|
||||||
linger = true;
|
linger = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,39 +4,32 @@
|
||||||
{ lib, modulesPath, ... }:
|
{ lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports =
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [
|
availableKernelModules = [ "xhci_pci" "virtio_scsi" "sr_mod" ];
|
||||||
"xhci_pci"
|
|
||||||
"virtio_scsi"
|
|
||||||
"sr_mod"
|
|
||||||
];
|
|
||||||
kernelModules = [ ];
|
kernelModules = [ ];
|
||||||
};
|
};
|
||||||
kernelModules = [ ];
|
kernelModules = [ ];
|
||||||
extraModulePackages = [ ];
|
extraModulePackages = [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" =
|
||||||
device = "/dev/disk/by-partlabel/disk-primary-root";
|
{ device = "/dev/disk/by-partlabel/disk-primary-root";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" =
|
||||||
device = "/dev/disk/by-partlabel/disk-primary-ESP";
|
{ device = "/dev/disk/by-partlabel/disk-primary-ESP";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
"fmask=0022"
|
|
||||||
"dmask=0022"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/nix" = {
|
fileSystems."/nix" =
|
||||||
device = "/dev/disk/by-partlabel/disk-volume1-nix";
|
{ device = "/dev/disk/by-partlabel/disk-volume1-nix";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, username, ... }:
|
{ config, username, ... }: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
../../../../shared/nixos/lets-encrypt.nix
|
../../../../shared/nixos/lets-encrypt.nix
|
||||||
./monitoring.nix
|
./monitoring.nix
|
||||||
|
|
@ -24,3 +23,4 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }: let
|
||||||
let
|
|
||||||
metrics_server = "https://monitoring.home.technicalissues.us/remotewrite";
|
metrics_server = "https://monitoring.home.technicalissues.us/remotewrite";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services = {
|
services = {
|
||||||
vmagent = {
|
vmagent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -127,3 +125,4 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
let
|
{ pkgs, ... }: let
|
||||||
domain = "genebean.me";
|
domain = "genebean.me";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
environment.etc.nginx-littlelinks = {
|
environment.etc.nginx-littlelinks = {
|
||||||
# Info generated via
|
# Info generated via
|
||||||
# nurl https://github.com/genebean/littlelink genebean-sometag
|
# nurl https://github.com/genebean/littlelink genebean-sometag
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ config, lib, pkgs, username, ... }: {
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./disk-config.nix
|
./disk-config.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
@ -58,19 +51,18 @@
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: super: {
|
(final: super: {
|
||||||
makeModulesClosure = x: super.makeModulesClosure (x // { allowMissing = true; });
|
makeModulesClosure = x:
|
||||||
|
super.makeModulesClosure (x // { allowMissing = true; });
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
cage =
|
cage = let
|
||||||
let
|
|
||||||
kioskProgram = pkgs.writeShellScript "kiosk.sh" ''
|
kioskProgram = pkgs.writeShellScript "kiosk.sh" ''
|
||||||
WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1
|
WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1
|
||||||
/etc/profiles/per-user/gene/bin/chromium-browser
|
/etc/profiles/per-user/gene/bin/chromium-browser
|
||||||
'';
|
'';
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
enable = true;
|
enable = true;
|
||||||
program = kioskProgram;
|
program = kioskProgram;
|
||||||
user = "gene";
|
user = "gene";
|
||||||
|
|
@ -123,10 +115,7 @@
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Gene Liverman";
|
description = "Gene Liverman";
|
||||||
extraGroups = [
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
];
|
|
||||||
linger = true;
|
linger = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -136,3 +125,4 @@
|
||||||
memoryPercent = 90;
|
memoryPercent = 90;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports =
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
"xhci_pci"
|
|
||||||
"ehci_pci"
|
|
||||||
"ahci"
|
|
||||||
"usbhid"
|
|
||||||
"sd_mod"
|
|
||||||
"rtsx_pci_sdmmc"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "24.11";
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
@ -21,3 +21,4 @@ _: {
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }: let
|
||||||
let
|
|
||||||
metrics_server = "https://monitoring.home.technicalissues.us/remotewrite";
|
metrics_server = "https://monitoring.home.technicalissues.us/remotewrite";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services = {
|
services = {
|
||||||
vmagent = {
|
vmagent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -127,3 +125,4 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,4 @@
|
||||||
{
|
{ inputs, config, lib, pkgs, username, ... }: {
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
# SD card image
|
# SD card image
|
||||||
"${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
|
"${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
|
||||||
|
|
@ -51,21 +43,20 @@
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: super: {
|
(final: super: {
|
||||||
makeModulesClosure = x: super.makeModulesClosure (x // { allowMissing = true; });
|
makeModulesClosure = x:
|
||||||
|
super.makeModulesClosure (x // { allowMissing = true; });
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
sdImage.compressImage = true;
|
sdImage.compressImage = true;
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
cage =
|
cage = let
|
||||||
let
|
|
||||||
kioskProgram = pkgs.writeShellScript "kiosk.sh" ''
|
kioskProgram = pkgs.writeShellScript "kiosk.sh" ''
|
||||||
WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1 --transform 90
|
WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1 --transform 90
|
||||||
/etc/profiles/per-user/gene/bin/chromium-browser
|
/etc/profiles/per-user/gene/bin/chromium-browser
|
||||||
'';
|
'';
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
enable = true;
|
enable = true;
|
||||||
program = kioskProgram;
|
program = kioskProgram;
|
||||||
user = "gene";
|
user = "gene";
|
||||||
|
|
@ -117,10 +108,7 @@
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Gene Liverman";
|
description = "Gene Liverman";
|
||||||
extraGroups = [
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
];
|
|
||||||
linger = true;
|
linger = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -130,3 +118,4 @@
|
||||||
memoryPercent = 90;
|
memoryPercent = 90;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "24.11";
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
@ -20,3 +20,4 @@ _: {
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,4 @@
|
||||||
{
|
{ config, pkgs, username, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./disk-config.nix
|
./disk-config.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
_: {
|
{ ... }:
|
||||||
|
{
|
||||||
disko.devices = {
|
disko.devices = {
|
||||||
disk = {
|
disk = {
|
||||||
sdc = {
|
sdc = {
|
||||||
|
|
|
||||||
|
|
@ -1,65 +1,45 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, modulesPath, ... }:
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports =
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
|
||||||
"ehci_pci"
|
|
||||||
"ahci"
|
|
||||||
"usbhid"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
"sr_mod"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [ "nvme" ];
|
boot.initrd.kernelModules = [ "nvme" ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" =
|
||||||
device = "zroot/root";
|
{ device = "zroot/root";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/nix" = {
|
fileSystems."/nix" =
|
||||||
device = "zroot/root/nix";
|
{ device = "zroot/root/nix";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" = {
|
fileSystems."/home" =
|
||||||
device = "zroot/root/home";
|
{ device = "zroot/root/home";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" =
|
||||||
# { device = "/dev/disk/by-uuid/02A5-6FCC";
|
# { device = "/dev/disk/by-uuid/02A5-6FCC";
|
||||||
{
|
{ device = "/dev/disk/by-partlabel/disk-sdc-BOOT";
|
||||||
device = "/dev/disk/by-partlabel/disk-sdc-BOOT";
|
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
"fmask=0022"
|
|
||||||
"dmask=0022"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot-fallback" =
|
fileSystems."/boot-fallback" =
|
||||||
# { device = "/dev/disk/by-uuid/02F1-B12D";
|
# { device = "/dev/disk/by-uuid/02F1-B12D";
|
||||||
{
|
{ device = "/dev/disk/by-partlabel/disk-sdd-BOOT-FALLBACK";
|
||||||
device = "/dev/disk/by-partlabel/disk-sdd-BOOT-FALLBACK";
|
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
"fmask=0022"
|
|
||||||
"dmask=0022"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
_:
|
{ ... }: let
|
||||||
let
|
|
||||||
volume_base = "/var/lib/audiobookshelf";
|
volume_base = "/var/lib/audiobookshelf";
|
||||||
http_port = "13378";
|
http_port = "13378";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
# Audiobookshelf
|
# Audiobookshelf
|
||||||
|
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, username, ... }:
|
{ config, username, ... }: let
|
||||||
let
|
|
||||||
volume_base = "/orico/mountain-mesh-bot-discord";
|
volume_base = "/orico/mountain-mesh-bot-discord";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
# My mountain-mesh-bot-discord container
|
# My mountain-mesh-bot-discord container
|
||||||
|
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
|
|
@ -19,8 +17,6 @@ in
|
||||||
|
|
||||||
sops.secrets.mtnmesh_bot_dot_env = {
|
sops.secrets.mtnmesh_bot_dot_env = {
|
||||||
path = "${volume_base}/.env";
|
path = "${volume_base}/.env";
|
||||||
restartUnits = [
|
restartUnits = [ "${config.virtualisation.oci-containers.containers.mtnmesh_bot_discord.serviceName}" ];
|
||||||
"${config.virtualisation.oci-containers.containers.mtnmesh_bot_discord.serviceName}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
{ config, ... }:
|
{ config, ... }: let
|
||||||
let
|
|
||||||
volume_base = "/orico/psitransfer";
|
volume_base = "/orico/psitransfer";
|
||||||
http_port = "3000";
|
http_port = "3000";
|
||||||
psitransfer_dot_env = "${config.sops.secrets.psitransfer_dot_env.path}";
|
psitransfer_dot_env = "${config.sops.secrets.psitransfer_dot_env.path}";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# My intent as of now is to only make this available to the outside world #
|
# My intent as of now is to only make this available to the outside world #
|
||||||
|
|
@ -31,3 +29,4 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,10 @@
|
||||||
{
|
{ inputs, config, pkgs, username, ... }: let
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
http_port = 80;
|
http_port = 80;
|
||||||
https_port = 443;
|
https_port = 443;
|
||||||
home_domain = "home.technicalissues.us";
|
home_domain = "home.technicalissues.us";
|
||||||
backend_ip = "127.0.0.1";
|
backend_ip = "127.0.0.1";
|
||||||
restic_backup_time = "02:00";
|
restic_backup_time = "02:00";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./containers/audiobookshelf.nix
|
./containers/audiobookshelf.nix
|
||||||
|
|
@ -39,9 +31,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
sessionVariables = {
|
sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; };
|
||||||
LIBVA_DRIVER_NAME = "iHD";
|
|
||||||
};
|
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
inputs.compose2nix.packages.${pkgs.stdenv.hostPlatform.system}.default
|
inputs.compose2nix.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
docker-compose
|
docker-compose
|
||||||
|
|
@ -122,19 +112,11 @@ in
|
||||||
networkmanager.enable = false;
|
networkmanager.enable = false;
|
||||||
useNetworkd = true;
|
useNetworkd = true;
|
||||||
vlans = {
|
vlans = {
|
||||||
vlan23 = {
|
vlan23 = { id = 23; interface = "eno1"; };
|
||||||
id = 23;
|
|
||||||
interface = "eno1";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
interfaces = {
|
interfaces = {
|
||||||
eno1.useDHCP = true;
|
eno1.useDHCP = true;
|
||||||
vlan23.ipv4.addresses = [
|
vlan23.ipv4.addresses = [{ address = "192.168.23.21"; prefixLength = 24; }];
|
||||||
{
|
|
||||||
address = "192.168.23.21";
|
|
||||||
prefixLength = 24;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -329,11 +311,7 @@ in
|
||||||
"nix-tester.${home_domain}"
|
"nix-tester.${home_domain}"
|
||||||
];
|
];
|
||||||
listen = [
|
listen = [
|
||||||
{
|
{ port = https_port; addr = "0.0.0.0"; ssl = true; }
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
|
|
@ -353,13 +331,7 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"ab.${home_domain}" = {
|
"ab.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
|
@ -370,41 +342,17 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"atuin.${home_domain}" = {
|
"atuin.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
locations."/".proxyPass = "http://${backend_ip}:8888";
|
locations."/".proxyPass = "http://${backend_ip}:8888";
|
||||||
};
|
};
|
||||||
# budget.${home_domain}
|
# budget.${home_domain}
|
||||||
"${config.services.firefly-iii.virtualHost}".listen = [
|
"${config.services.firefly-iii.virtualHost}".listen = [{ port = 3005; addr = "0.0.0.0"; ssl = false; }];
|
||||||
{
|
"${config.services.firefly-iii-data-importer.virtualHost}".listen = [{ port = 3006; addr = "0.0.0.0"; ssl = false; }];
|
||||||
port = 3005;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = false;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
"${config.services.firefly-iii-data-importer.virtualHost}".listen = [
|
|
||||||
{
|
|
||||||
port = 3006;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = false;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
"git.${home_domain}" = {
|
"git.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
|
@ -414,13 +362,7 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"id.${home_domain}" = {
|
"id.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
|
@ -432,13 +374,7 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"immich.${home_domain}" = {
|
"immich.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
|
@ -452,13 +388,7 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"immich-kiosk.${home_domain}" = {
|
"immich-kiosk.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
|
@ -473,13 +403,7 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"jellyfin.${home_domain}" = {
|
"jellyfin.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
|
@ -504,13 +428,7 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"mealie.${home_domain}" = {
|
"mealie.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
|
@ -520,13 +438,7 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"monitoring.${home_domain}" = {
|
"monitoring.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
|
@ -557,13 +469,7 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"readit.${home_domain}" = {
|
"readit.${home_domain}" = {
|
||||||
listen = [
|
listen = [{ port = https_port; addr = "0.0.0.0"; ssl = true; }];
|
||||||
{
|
|
||||||
port = https_port;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
ssl = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
acmeRoot = null;
|
acmeRoot = null;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
|
|
@ -716,12 +622,7 @@ in
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Gene Liverman";
|
description = "Gene Liverman";
|
||||||
extraGroups = [
|
extraGroups = [ "docker" "podman" "networkmanager" "wheel" ];
|
||||||
"docker"
|
|
||||||
"podman"
|
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
|
||||||
];
|
|
||||||
linger = true;
|
linger = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,52 +1,40 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, modulesPath, ... }:
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports =
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
|
||||||
"xhci_pci"
|
|
||||||
"ahci"
|
|
||||||
"usbhid"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
"sdhci_pci"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" =
|
||||||
device = "/dev/disk/by-uuid/0ee15ee9-37ea-448d-aa3b-23eb25994df0";
|
{ device = "/dev/disk/by-uuid/0ee15ee9-37ea-448d-aa3b-23eb25994df0";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" =
|
||||||
device = "/dev/disk/by-uuid/4814-3E47";
|
{ device = "/dev/disk/by-uuid/4814-3E47";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/var/lib/audiobookshelf" = {
|
fileSystems."/var/lib/audiobookshelf" =
|
||||||
device = "orico/audiobookshelf";
|
{ device = "orico/audiobookshelf";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/var/lib/postgresql" = {
|
fileSystems."/var/lib/postgresql" =
|
||||||
device = "orico/postgresql-data";
|
{ device = "orico/postgresql-data";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/var/lib/postgresql/16/pg_wal" = {
|
fileSystems."/var/lib/postgresql/16/pg_wal" =
|
||||||
device = "orico/postgresql-wal-16";
|
{ device = "orico/postgresql-wal-16";
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
home.stateVersion = "23.11";
|
home.stateVersion = "23.11";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }: let
|
||||||
let
|
|
||||||
home_domain = "home.technicalissues.us";
|
home_domain = "home.technicalissues.us";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Keeping empty for manual testing if needed
|
# Keeping empty for manual testing if needed
|
||||||
];
|
];
|
||||||
|
|
@ -57,10 +55,7 @@ in
|
||||||
];
|
];
|
||||||
metric_relabel_configs = [
|
metric_relabel_configs = [
|
||||||
{
|
{
|
||||||
source_labels = [
|
source_labels = ["__name__" "nodename"];
|
||||||
"__name__"
|
|
||||||
"nodename"
|
|
||||||
];
|
|
||||||
regex = "node_uname_info;0d869efa-prometheus-node-exporter";
|
regex = "node_uname_info;0d869efa-prometheus-node-exporter";
|
||||||
target_label = "nodename";
|
target_label = "nodename";
|
||||||
replacement = "homeassistant";
|
replacement = "homeassistant";
|
||||||
|
|
@ -226,6 +221,7 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
auth = {
|
auth = {
|
||||||
# Set to true to disable (hide) the login form, useful if you use OAuth
|
# Set to true to disable (hide) the login form, useful if you use OAuth
|
||||||
|
|
@ -382,3 +378,4 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, config, pkgs, username, ... }: {
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../../shared/nixos/flatpaks.nix
|
../../../shared/nixos/flatpaks.nix
|
||||||
|
|
@ -186,15 +179,7 @@
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Gene Liverman";
|
description = "Gene Liverman";
|
||||||
extraGroups = [
|
extraGroups = [ "adbusers" "dialout" "docker" "input" "networkmanager" "podman" "wheel" ];
|
||||||
"adbusers"
|
|
||||||
"dialout"
|
|
||||||
"docker"
|
|
||||||
"input"
|
|
||||||
"networkmanager"
|
|
||||||
"podman"
|
|
||||||
"wheel"
|
|
||||||
];
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
tailscale-systray
|
tailscale-systray
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gnome.gnome-tweaks
|
gnome.gnome-tweaks
|
||||||
gnome.nautilus
|
gnome.nautilus
|
||||||
|
|
@ -34,3 +33,4 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,50 +1,35 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, modulesPath, pkgs, ... }:
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
modulesPath,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports =
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
"xhci_pci"
|
|
||||||
"nvme"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
"rtsx_pci_sdmmc"
|
|
||||||
];
|
|
||||||
# boot.kernelPackages = pkgs.linuxPackages_zen;
|
# boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [
|
boot.kernelModules = [ "kvm-intel" "sg" ];
|
||||||
"kvm-intel"
|
|
||||||
"sg"
|
|
||||||
];
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"i915.enable_fbc=1"
|
"i915.enable_fbc=1"
|
||||||
"i915.enable_psr=2"
|
"i915.enable_psr=2"
|
||||||
];
|
];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" =
|
||||||
device = "/dev/disk/by-uuid/eb9a2c7e-ae61-4d06-9464-49b98d576f7c";
|
{ device = "/dev/disk/by-uuid/eb9a2c7e-ae61-4d06-9464-49b98d576f7c";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" =
|
||||||
device = "/dev/disk/by-uuid/924D-E7A4";
|
{ device = "/dev/disk/by-uuid/924D-E7A4";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices =
|
||||||
{ device = "/dev/disk/by-uuid/166d24ca-401c-492e-845d-bb1d0d6d7d86"; }
|
[ { device = "/dev/disk/by-uuid/166d24ca-401c-492e-845d-bb1d0d6d7d86"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
{
|
|
||||||
home.stateVersion = "23.11";
|
home.stateVersion = "23.11";
|
||||||
imports = [
|
imports = [
|
||||||
../../../shared/home/general/all-gui.nix
|
../../../shared/home/general/all-gui.nix
|
||||||
|
|
@ -11,14 +10,12 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/hypr/frappe.conf".source =
|
".config/hypr/frappe.conf".source = (pkgs.fetchFromGitHub {
|
||||||
pkgs.fetchFromGitHub {
|
|
||||||
owner = "catppuccin";
|
owner = "catppuccin";
|
||||||
repo = "hyprland";
|
repo = "hyprland";
|
||||||
rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be";
|
rev = "99a88fd21fac270bd999d4a26cf0f4a4222c58be";
|
||||||
hash = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8=";
|
hash = "sha256-07B5QmQmsUKYf38oWU3+2C6KO4JvinuTwmW1Pfk8CT8=";
|
||||||
}
|
} + "/themes/frappe.conf");
|
||||||
+ "/themes/frappe.conf";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
esptool
|
esptool
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,17 @@
|
||||||
{
|
{ config, inputs, pkgs, ... }: let
|
||||||
config,
|
sqlite_lib = if builtins.elem pkgs.stdenv.hostPlatform.system [
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
sqlite_lib =
|
|
||||||
if
|
|
||||||
builtins.elem pkgs.stdenv.hostPlatform.system [
|
|
||||||
"aarch64-darwin"
|
"aarch64-darwin"
|
||||||
"x86_64-darwin"
|
"x86_64-darwin"
|
||||||
]
|
]
|
||||||
then
|
then "libsqlite3.dylib"
|
||||||
"libsqlite3.dylib"
|
else "libsqlite3.so";
|
||||||
else
|
in {
|
||||||
"libsqlite3.so";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
btop
|
btop
|
||||||
bundix
|
bundix
|
||||||
cargo
|
cargo
|
||||||
cheat
|
cheat
|
||||||
colordiff
|
colordiff
|
||||||
deadnix
|
|
||||||
dogdns
|
dogdns
|
||||||
dos2unix
|
dos2unix
|
||||||
duf
|
duf
|
||||||
|
|
@ -51,7 +39,6 @@ in
|
||||||
nodejs
|
nodejs
|
||||||
nurl
|
nurl
|
||||||
nvd
|
nvd
|
||||||
nixfmt
|
|
||||||
onefetch
|
onefetch
|
||||||
powershell
|
powershell
|
||||||
pre-commit
|
pre-commit
|
||||||
|
|
@ -59,7 +46,6 @@ in
|
||||||
rename
|
rename
|
||||||
ruby
|
ruby
|
||||||
subversion
|
subversion
|
||||||
statix
|
|
||||||
tldr
|
tldr
|
||||||
tree
|
tree
|
||||||
trippy
|
trippy
|
||||||
|
|
@ -185,11 +171,7 @@ in
|
||||||
oh-my-posh = {
|
oh-my-posh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
settings = builtins.fromJSON (
|
settings = builtins.fromJSON (builtins.unsafeDiscardStringContext (builtins.readFile (inputs.genebean-omp-themes + "/beanbag.omp.json")));
|
||||||
builtins.unsafeDiscardStringContext (
|
|
||||||
builtins.readFile (inputs.genebean-omp-themes + "/beanbag.omp.json")
|
|
||||||
)
|
|
||||||
);
|
|
||||||
#useTheme = "amro";
|
#useTheme = "amro";
|
||||||
#useTheme = "montys";
|
#useTheme = "montys";
|
||||||
};
|
};
|
||||||
|
|
@ -378,9 +360,7 @@ in
|
||||||
source = ../../files/nvim/lua/plugins;
|
source = ../../files/nvim/lua/plugins;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
".config/powershell/Microsoft.PowerShell_profile.ps1".source =
|
".config/powershell/Microsoft.PowerShell_profile.ps1".source = ../../files/Microsoft.PowerShell_profile.ps1;
|
||||||
../../files/Microsoft.PowerShell_profile.ps1;
|
".config/powershell/Microsoft.VSCode_profile.ps1".source = ../../files/Microsoft.PowerShell_profile.ps1;
|
||||||
".config/powershell/Microsoft.VSCode_profile.ps1".source =
|
|
||||||
../../files/Microsoft.PowerShell_profile.ps1;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
programs.hexchat.enable = true;
|
programs.hexchat.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
programs.pidgin.enable = true;
|
programs.pidgin.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
{ lib, pkgs, ... }:
|
{ lib, pkgs, ... }: with lib.hm.gvariant; {
|
||||||
with lib.hm.gvariant;
|
|
||||||
{
|
|
||||||
|
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"com/gexperts/Tilix/profiles/2b7c4080-0ddd-46c5-8f23-563fd3ba789d" = {
|
"com/gexperts/Tilix/profiles/2b7c4080-0ddd-46c5-8f23-563fd3ba789d" = {
|
||||||
|
|
@ -12,24 +10,7 @@ with lib.hm.gvariant;
|
||||||
font = "Hack Nerd Font Mono 12";
|
font = "Hack Nerd Font Mono 12";
|
||||||
foreground-color = "#F8F8F2";
|
foreground-color = "#F8F8F2";
|
||||||
highlight-colors-set = false;
|
highlight-colors-set = false;
|
||||||
palette = [
|
palette = [ "#272822" "#F92672" "#A6E22E" "#F4BF75" "#66D9EF" "#AE81FF" "#A1EFE4" "#F8F8F2" "#75715E" "#F92672" "#A6E22E" "#F4BF75" "#66D9EF" "#AE81FF" "#A1EFE4" "#F9F8F5" ];
|
||||||
"#272822"
|
|
||||||
"#F92672"
|
|
||||||
"#A6E22E"
|
|
||||||
"#F4BF75"
|
|
||||||
"#66D9EF"
|
|
||||||
"#AE81FF"
|
|
||||||
"#A1EFE4"
|
|
||||||
"#F8F8F2"
|
|
||||||
"#75715E"
|
|
||||||
"#F92672"
|
|
||||||
"#A6E22E"
|
|
||||||
"#F4BF75"
|
|
||||||
"#66D9EF"
|
|
||||||
"#AE81FF"
|
|
||||||
"#A1EFE4"
|
|
||||||
"#F9F8F5"
|
|
||||||
];
|
|
||||||
use-system-font = false;
|
use-system-font = false;
|
||||||
use-theme-colors = false;
|
use-theme-colors = false;
|
||||||
visible-name = "Default";
|
visible-name = "Default";
|
||||||
|
|
@ -39,13 +20,11 @@ with lib.hm.gvariant;
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/tilix/schemes/Beanbag-Mathias.json".source = ../../../files/tilix/Beanbag-Mathias.json;
|
".config/tilix/schemes/Beanbag-Mathias.json".source = ../../../files/tilix/Beanbag-Mathias.json;
|
||||||
".config/tilix/schemes/Catppuccin-Frappe.json".source =
|
".config/tilix/schemes/Catppuccin-Frappe.json".source = (pkgs.fetchFromGitHub {
|
||||||
pkgs.fetchFromGitHub {
|
|
||||||
owner = "catppuccin";
|
owner = "catppuccin";
|
||||||
repo = "tilix";
|
repo = "tilix";
|
||||||
rev = "3fd05e03419321f2f2a6aad6da733b28be1765ef";
|
rev = "3fd05e03419321f2f2a6aad6da733b28be1765ef";
|
||||||
hash = "sha256-SI7QxQ+WBHzeuXbTye+s8pi4tDVZOV4Aa33mRYO276k=";
|
hash = "sha256-SI7QxQ+WBHzeuXbTye+s8pi4tDVZOV4Aa33mRYO276k=";
|
||||||
}
|
} + "/src/Catppuccin-Frappe.json");
|
||||||
+ "/src/Catppuccin-Frappe.json";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -1,15 +1,12 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
{
|
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/waybar/config".source = ../../../files/waybar/config;
|
".config/waybar/config".source = ../../../files/waybar/config;
|
||||||
".config/waybar/frappe.css".source =
|
".config/waybar/frappe.css".source = (pkgs.fetchFromGitHub {
|
||||||
pkgs.fetchFromGitHub {
|
|
||||||
owner = "catppuccin";
|
owner = "catppuccin";
|
||||||
repo = "waybar";
|
repo = "waybar";
|
||||||
rev = "f74ab1eecf2dcaf22569b396eed53b2b2fbe8aff";
|
rev = "f74ab1eecf2dcaf22569b396eed53b2b2fbe8aff";
|
||||||
hash = "sha256-WLJMA2X20E5PCPg0ZPtSop0bfmu+pLImP9t8A8V4QK8=";
|
hash = "sha256-WLJMA2X20E5PCPg0ZPtSop0bfmu+pLImP9t8A8V4QK8=";
|
||||||
}
|
} + "/themes/frappe.css");
|
||||||
+ "/themes/frappe.css";
|
|
||||||
".config/waybar/style.css".source = ../../../files/waybar/style.css;
|
".config/waybar/style.css".source = ../../../files/waybar/style.css;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
home.file = {
|
home.file = {
|
||||||
".config/xfce4/terminal/accels.scm".source = ../../../files/xfce4/terminal/accels.scm;
|
".config/xfce4/terminal/accels.scm".source = ../../../files/xfce4/terminal/accels.scm;
|
||||||
};
|
};
|
||||||
|
|
@ -11,8 +11,7 @@ _: {
|
||||||
"color-background" = "#08052b";
|
"color-background" = "#08052b";
|
||||||
"color-cursor" = "#ff7f7f";
|
"color-cursor" = "#ff7f7f";
|
||||||
"color-cursor-use-default" = false;
|
"color-cursor-use-default" = false;
|
||||||
"color-palette" =
|
"color-palette" = "#000000;#e52222;#a6e32d;#fc951e;#c48dff;#fa2573;#67d9f0;#f2f2f2;#555555;#ff5555;#55ff55;#ffff55;#5555ff;#ff55ff;#55ffff;#ffffff";
|
||||||
"#000000;#e52222;#a6e32d;#fc951e;#c48dff;#fa2573;#67d9f0;#f2f2f2;#555555;#ff5555;#55ff55;#ffff55;#5555ff;#ff55ff;#55ffff;#ffffff";
|
|
||||||
"font-name" = "Hack Nerd Font Mono 12";
|
"font-name" = "Hack Nerd Font Mono 12";
|
||||||
"misc-always-show-tabs" = false;
|
"misc-always-show-tabs" = false;
|
||||||
"misc-bell" = false;
|
"misc-bell" = false;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
fastfetch
|
fastfetch
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
_: {
|
|
||||||
|
{ ... }: {
|
||||||
services = {
|
services = {
|
||||||
flatpak = {
|
flatpak = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
_: {
|
{ ... }: {
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n = {
|
i18n = {
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, username, ... }:
|
{ config, username, ... }: {
|
||||||
{
|
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# #
|
# #
|
||||||
|
|
@ -11,9 +10,7 @@
|
||||||
acceptTerms = true;
|
acceptTerms = true;
|
||||||
defaults = {
|
defaults = {
|
||||||
email = "lets-encrypt@technicalissues.us";
|
email = "lets-encrypt@technicalissues.us";
|
||||||
credentialFiles = {
|
credentialFiles = { "GANDIV5_PERSONAL_ACCESS_TOKEN_FILE" = "${config.sops.secrets.gandi_dns_pat.path}"; };
|
||||||
"GANDIV5_PERSONAL_ACCESS_TOKEN_FILE" = "${config.sops.secrets.gandi_dns_pat.path}";
|
|
||||||
};
|
|
||||||
dnsProvider = "gandiv5";
|
dnsProvider = "gandiv5";
|
||||||
dnsResolver = "ns1.gandi.net";
|
dnsResolver = "ns1.gandi.net";
|
||||||
# uncomment below for testing
|
# uncomment below for testing
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
inherit (config.networking) hostName;
|
hostName = config.networking.hostName;
|
||||||
in
|
in {
|
||||||
{
|
programs.zsh.shellAliases.nixroutes =
|
||||||
programs.zsh.shellAliases.nixroutes = "cd ~/repos/dots && echo '=== Current Routes ===' && ip route show && ip -6 route show && echo '' && echo '=== New Build Routes ===' && nix eval --json '.#nixosConfigurations.${hostName}.config.systemd.network.networks.\"10-wan\".routes'";
|
"cd ~/repos/dots && echo '=== Current Routes ===' && ip route show && ip -6 route show && echo '' && echo '=== New Build Routes ===' && nix eval --json '.#nixosConfigurations.${hostName}.config.systemd.network.networks.\"10-wan\".routes'";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }: {
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
restic
|
restic
|
||||||
];
|
];
|
||||||
|
|
@ -30,3 +29,4 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
{
|
|
||||||
# Be sure this is added if on NixOS
|
# Be sure this is added if on NixOS
|
||||||
# boot.kernelModules = [ "sg" ];
|
# boot.kernelModules = [ "sg" ];
|
||||||
|
|
||||||
|
|
@ -21,3 +20,4 @@
|
||||||
mkvtoolnix-cli
|
mkvtoolnix-cli
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue