Skip to content

Commit 428b1e6

Browse files
authored
Merge pull request #5 from TheMaxMur/develop
Merge develop into master
2 parents b2b6b7c + 5fe6f53 commit 428b1e6

File tree

240 files changed

+5493
-3669
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

240 files changed

+5493
-3669
lines changed

.github/workflows/checks.yml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,21 @@
11
name: "Check configuration"
2-
32
on:
43
push:
54
pull_request:
6-
75
jobs:
86
check:
97
runs-on: ubuntu-latest
10-
118
steps:
129
- name: Checkout repository
1310
uses: actions/checkout@v4
14-
1511
- name: Install Nix
1612
uses: cachix/install-nix-action@v24
1713
with:
1814
extra_nix_config: |
19-
experimental-features = nix-command flakes
20-
15+
experimental-features = nix-command flakes
2116
- name: Run statix check
2217
run: nix run 'nixpkgs/nixos-unstable#statix' -- check .
23-
2418
- name: Run deadnix check
2519
run: nix run 'nixpkgs/nixos-unstable#deadnix' -- .
26-
2720
- name: Run flake check
2821
uses: DeterminateSystems/flake-checker-action@v5
29-

README.md

Lines changed: 42 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,46 +15,46 @@
1515
- [Features](#-features)
1616
- [File structure](#-file-structure)
1717
- [Desktop preview](#%EF%B8%8F-desktop-preview)
18-
- [Hyprland](#-hyprland)
19-
- [Sway](#-sway)
18+
- [Hyprland](#-hyprland)
19+
- [Sway](#-sway)
2020
- [Software](#-software)
2121
- [Network topology](#-network-topology)
2222
- [Hosts description](#%EF%B8%8F-hosts-description)
2323
- [Keyboard](#%EF%B8%8F-keyboard)
2424
- [Special thanks](#%EF%B8%8F-special-thanks)
2525
- [Star history](#-star-history)
2626

27-
## ✨ Features
27+
## ✨ Features
2828

29-
- ❄️ Flakes -- for precise dependency management of the entire system.
30-
- 🏡 Home Manager -- to configure all used software for the user.
31-
- 💽 Disko -- for declarative disk management: luks + lvm + btrfs.
32-
- ⚠️ Impermanence -- to remove junk files and directories that are not specified in the config.
33-
- 💈 Stylix -- to customize the theme for the entire system and the software you use.
34-
- 🍎 NixDarwin -- to declaratively customize MacOS.
35-
- 🔐 Lanzaboot -- to securely boot the system.
29+
- ❄️ Flakes - for precise dependency management of the entire system.
30+
- 🏡 Home Manager - to configure all used software for the user.
31+
- 💽 Disko - for declarative disk management: luks + lvm + btrfs.
32+
- ⚠️ Impermanence - to remove junk files and directories that are not specified in the config.
33+
- 💈 Stylix - to customize the theme for the entire system and the software you use.
34+
- 🍎 NixDarwin - to declaratively customize MacOS.
35+
- 🔐 Lanzaboot - to securely boot the system.
3636
- 📁 Config file structure and modules with options.
3737

3838
## 📁 File structure
3939

4040
- [❄️ flake.nix](flake.nix) configuration entry point
4141
- [🏡 home](home/default.nix) entry point for creating a home manager user
42-
- [🧩 modules](home/modules/) home manager modules
43-
- [♻️ overlays](home/overlays) home manager overlays
44-
- [👤 users](home/users) users configurations for home manager
45-
- [🧩 modules](home/users/maxmur/modules/) home manager user modules
42+
- [🧩 modules](home/modules/) home manager modules
43+
- [♻️ overlays](home/overlays) home manager overlays
44+
- [👤 users](home/users) users configurations for home manager
45+
- [🧩 modules](home/users/maxmur/modules/) home manager user modules
4646
- [📃 lib](lib/default.nix) helper functions for creating configurations
4747
- [🧩 modules](modules/default.nix) common modules for nixos/nixDarwin/home-manager
4848
- [♻️ overlays](overlays/) common overlays
4949
- [❄️parts](parts/) flake parts modules
5050
- [💀pkgs](pkgs/) self-sealed packages
5151
- [🖥️ system](system/default.nix) entry point for creating a machine
52-
- [🏎️ machine](system/machine) machines configurations
53-
- [🚀 hostname](system/machine/pcbox/) starting the configuration of a specific machine
54-
- [🧩 modules](system/machine/pcbox/modules) machine modules
55-
- [💾 hardware](system/machine/pcbox/modules/hardware) machine hardware modules
56-
- [🧩 modules](system/modules) common modules for machines
57-
- [♻️ overlays](system/overlays) common overlays for machines
52+
- [🏎️ machine](system/machine) machines configurations
53+
- [🚀 hostname](system/machine/pcbox/) starting the configuration of a specific machine
54+
- [🧩 modules](system/machine/pcbox/modules) machine modules
55+
- [💾 hardware](system/machine/pcbox/modules/hardware) machine hardware modules
56+
- [🧩 nixos](system/nixos) nixos modules/overlays/etc
57+
- [🧩 darwin](system/darwin) nixos modules/overlays/etc
5858
- [📄 templates](templates/default.nix) templates for creating configuration parts
5959

6060
## 🖼️ Desktop preview
@@ -81,16 +81,16 @@ The images below may not represent the final system. Some parts may differ.
8181

8282
## 📘 Software
8383

84-
- OS - [**`NixOS`**](https://nixos.org/)
85-
- WM - [**`Hyprland`**](https://hyprland.org/) or [**`Sway`**](https://github.com/swaywm/sway)
86-
- Theme - [**`Nord`**](https://github.com/nordtheme/nord)
87-
- Wallpapers - [**`Grey wave`**](assets/grey_gradient.png)
88-
- Editor - [**`Neovim`**](https://neovim.io/)
89-
- Bar - [**`Waybar`**](https://github.com/Alexays/Waybar)
90-
- Terminal - [**`Foot`**](https://codeberg.org/dnkl/foot)
91-
- Shell - [**`Fish`**](https://fishshell.com/)
92-
- Promt - [**`Starship`**](https://starship.rs/)
93-
- Filemanager - [**`Yazi`**](https://github.com/sxyazi/yazi)
84+
- OS - [**`NixOS`**](https://nixos.org/)
85+
- WM - [**`Hyprland`**](https://hyprland.org/) or [**`Sway`**](https://github.com/swaywm/sway)
86+
- Theme - [**`Nord`**](https://github.com/nordtheme/nord)
87+
- Wallpapers - [**`Grey wave`**](assets/grey_gradient.png)
88+
- Editor - [**`Neovim`**](https://neovim.io/)
89+
- Bar - [**`Waybar`**](https://github.com/Alexays/Waybar)
90+
- Terminal - [**`Foot`**](https://codeberg.org/dnkl/foot)
91+
- Shell - [**`Fish`**](https://fishshell.com/)
92+
- Promt - [**`Starship`**](https://starship.rs/)
93+
- Filemanager - [**`Yazi`**](https://github.com/sxyazi/yazi)
9494

9595
## 👀 Network topology
9696

@@ -102,23 +102,25 @@ These diagrams show the network topology of my home network.
102102

103103
## 🖥️ Hosts description
104104

105-
| Hostname | Board | CPU | RAM | GPU | OS | State |
106-
| --- | --- | --- | --- | --- | --- | --- |
107-
| pcbox | X299 AORUS Ultra Gaming Pro-CF | i7-7800X | 64GB | Sapphire AMD Radeon RX 7600 XT PULSE | NixOS | OK |
108-
| nbox | Asus ZenBook 2024 Oled | Ultra7 155h | 32GB | Integrated Intel Arc (?) | NixOS | OK |
109-
| rasp | Raspberry Pi 4 | Broadcom BCM2711 | 4GB | Broadcom VideoCore VI | NixOS | OK |
110-
| macbox | Mac Mini M1 | Apple Silicon M1 | 8GB | Apple M1 8-Core GPU | MacOS | ? |
105+
| Hostname | Board | CPU | RAM | GPU | OS | State |
106+
| -------- | ------------------------------ | ---------------- | ----- | ------------------------------------ | ----- | ----- |
107+
| pcbox | ASRock B650 Pro RS | Ryzen 5 7500f | 32GB | Sapphire AMD Radeon RX 7600 XT PULSE | NixOS | OK |
108+
| nbox | Asus ZenBook 2024 Oled | Ultra7 155h | 32GB | Integrated Intel Arc (?) | NixOS | OK |
109+
| hlbox | X299 AORUS Ultra Gaming Pro-CF | i7-7800X | 128GB | GTX 1050ti | NixOS | OK |
110+
| p8box | P8 Mini Laptop | Intel N100 | 12GB | Intel UHD Graphics | NixOS | OK |
111+
| rasp | Raspberry Pi 4 | Broadcom BCM2711 | 4GB | Broadcom VideoCore VI | NixOS | OK |
112+
| macbox | Mac Mini M1 | Apple Silicon M1 | 8GB | Apple M1 8-Core GPU | MacOS | OK |
111113

112114
## ⌨️ Keyboard
113115

114-
I use corne split with a modified [miryoku](https://github.com/manna-harbour/miryoku) layout. This is one of the most affordable and easy options for an ergonomic keyboard.
116+
I use corne split with a modified [miryoku](https://github.com/manna-harbour/miryoku) layout. This is one of the most affordable and easy options for an ergonomic keyboard.
115117

116118
- WS Heavy Tactile switches
117119
- Blank white PBT Cherry keycaps
118120
- KBDFANS switch pads
119121
- Tape mod
120122
- O-rings
121-
- Jincomso wrist rest
123+
- Jincomso wrist rest
122124

123125
<details><summary>Layer 0 Main</summary>
124126

@@ -174,6 +176,8 @@ I use corne split with a modified [miryoku](https://github.com/manna-harbour/mir
174176

175177
[voronind-com](https://github.com/voronind-com)
176178

179+
[Corgiek](https://github.com/Corgiek)
180+
177181
## ⭐ Star History
178182

179183
<a href="https://star-history.com/#TheMaxMur/NixOS-Configuration&Date">
@@ -183,4 +187,3 @@ I use corne split with a modified [miryoku](https://github.com/manna-harbour/mir
183187
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=TheMaxMur/NixOS-Configuration&type=Date" />
184188
</picture>
185189
</a>
186-

docs/default.nix

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
perSystem =
3+
{ self', pkgs, ... }:
4+
{
5+
packages.mydocs = pkgs.callPackage ./docs.nix { self = self'; };
6+
};
7+
}

docs/docs.nix

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
{ pkgs
3+
, ...
4+
}:
5+
6+
let
7+
inherit (pkgs) stdenv mkdocs python310Packages;
8+
options-doc = pkgs.callPackage ./options-doc.nix {};
9+
in stdenv.mkDerivation {
10+
src = ./.;
11+
name = "docs";
12+
13+
buildInput = [ options-doc ];
14+
15+
nativeBuildInputs = [
16+
mkdocs
17+
python310Packages.mkdocs-material
18+
python310Packages.pygments
19+
];
20+
21+
buildPhase = ''
22+
ln -s ${options-doc} "./docs/nixos-options.md"
23+
mkdocs build
24+
'';
25+
26+
installPhase = ''
27+
mv site $out
28+
'';
29+
}
30+
*/
31+
32+
{
33+
writeShellScriptBin,
34+
pkgs,
35+
self,
36+
...
37+
}:
38+
39+
let
40+
options-doc = pkgs.callPackage ./options-doc.nix { inherit self; };
41+
in
42+
writeShellScriptBin "gen-options-doc" ''
43+
echo "Generating NixOS module options documentation"
44+
cat ${options-doc} > OPTIONS.md
45+
''

docs/options-doc.nix

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
lib,
3+
self,
4+
pkgs,
5+
runCommand,
6+
nixosOptionsDoc,
7+
}:
8+
9+
let
10+
eval = lib.evalModules {
11+
specialArgs = { inherit self pkgs; };
12+
13+
modules = [
14+
(lib.nixosSystem {
15+
inherit (pkgs) system;
16+
modules = [
17+
../modules/default.nix
18+
];
19+
})
20+
];
21+
};
22+
23+
optionsDoc = nixosOptionsDoc {
24+
inherit (eval) options;
25+
};
26+
in
27+
runCommand "options-doc.md" { } ''
28+
cat ${optionsDoc.optionsCommonMark} >> $out
29+
''

0 commit comments

Comments
 (0)