Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge develop into master #5

Merged
merged 103 commits into from
Jan 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
2673425
doc: Try add doc
TheMaxMur Dec 15, 2024
3eb4734
flake: Add ghostty input
TheMaxMur Dec 15, 2024
87663cf
flake: Add proxmox-nixos input
TheMaxMur Dec 15, 2024
2515dea
modules: Change fluffychat version
TheMaxMur Dec 15, 2024
7dc24af
modules: Change to lix
TheMaxMur Dec 15, 2024
4b80fee
modules: Remove not general attrs
TheMaxMur Dec 15, 2024
36d581e
modules: Add cursos is linux feature in stylix
TheMaxMur Dec 15, 2024
5a5dec0
modules: Fix path
TheMaxMur Dec 15, 2024
53d76a0
modules: Add defaults module
TheMaxMur Dec 15, 2024
3749274
templates: Add name
TheMaxMur Dec 15, 2024
85d6c0b
home/modules: Inherit values in emacs module
TheMaxMur Dec 15, 2024
d4ade2e
home/modules: Fix paths in fish module
TheMaxMur Dec 15, 2024
0109f76
home/modules: Add suspend for pcbox in hypridle
TheMaxMur Dec 15, 2024
0252e1e
home/modules: Add defaults for hyprland
TheMaxMur Dec 15, 2024
d4e92d6
home/modules: Remove nemo. Add thunar
TheMaxMur Dec 15, 2024
1874b18
home/modules: Some deletes for hypr
TheMaxMur Dec 15, 2024
90ef5e5
home/modules: Fix paths in hyprland
TheMaxMur Dec 15, 2024
22b9326
home/modules: Fix paths in neofetch
TheMaxMur Dec 15, 2024
0dd369c
home/modules: Change neogit to lazygit in neovim
TheMaxMur Dec 15, 2024
233cd4b
home/modules: Fix paths in neovim
TheMaxMur Dec 15, 2024
9c90773
home/modules: Add defaults in sway
TheMaxMur Dec 15, 2024
db57a3d
home/modules: Add bindkeysToCode for sway
TheMaxMur Dec 15, 2024
82aa7ed
home/modules: Add powerMenu script for sway
TheMaxMur Dec 15, 2024
e5ca9c8
home/modules: Fix paths for sway
TheMaxMur Dec 15, 2024
c6fa717
home/modules: Remove swayfx legacy
TheMaxMur Dec 15, 2024
70a9f27
home/modules: Remove vesktop
TheMaxMur Dec 15, 2024
ea7d771
home/modules: Fix paths for swaync
TheMaxMur Dec 15, 2024
033a4bc
home/modules: Rewrite swaync css
TheMaxMur Dec 15, 2024
b74753c
home/modules: Fix paths in vscode
TheMaxMur Dec 15, 2024
0e6f746
home/modules: Fix paths in waybar and add privacy module
TheMaxMur Dec 15, 2024
7c79fac
home/modules: Fix paths in zsh
TheMaxMur Dec 15, 2024
31d0349
home/users/maxmur: Add obs-studio in impermanence
TheMaxMur Dec 15, 2024
86ad7b3
home/users/maxmur: Some edits in packages
TheMaxMur Dec 15, 2024
c126347
home: Fix paths in home constructor
TheMaxMur Dec 15, 2024
f4310dd
hosts: Add hlbox machine
TheMaxMur Dec 15, 2024
929c6ad
overlays: Rewrite nixpkgs overlays
TheMaxMur Dec 15, 2024
99f5cb7
system/darwin: Init
TheMaxMur Dec 15, 2024
ccd7952
system/nixos: Init
TheMaxMur Dec 15, 2024
51a6679
system: Rewrite machine constructor
TheMaxMur Dec 15, 2024
bee7ee8
lib: Rewrite mk functions
TheMaxMur Dec 15, 2024
d93fb50
system/machine/macbox: Add user fix fonts
TheMaxMur Dec 15, 2024
52e32a0
system/machine/nbox: Fix paths
TheMaxMur Dec 15, 2024
5a84632
system/machine/nbox: Fix paths
TheMaxMur Dec 15, 2024
0a2615b
system/machine/nbox: Add binfmt module. Rename chaotic
TheMaxMur Dec 15, 2024
dcac929
system/machine/rasp: Fix paths
TheMaxMur Dec 15, 2024
3835f82
system/machine/rasp: Fix paths
TheMaxMur Dec 15, 2024
08dc6f9
system/machine/pcbox: Add ygg in impermanence
TheMaxMur Dec 15, 2024
052ea91
system/machine/pcbox: Remove legacy
TheMaxMur Dec 15, 2024
a6c903b
system/machine/pcbox: Change to amd
TheMaxMur Dec 15, 2024
e268b83
system/machine/pcbox: Some edits
TheMaxMur Dec 15, 2024
e9d87cd
system/machine/pcbox: Fix paths
TheMaxMur Dec 15, 2024
8ff10ea
system/machine/pcbox: Fix paths
TheMaxMur Dec 15, 2024
748a462
system/machine/pcbox: Enable some modules
TheMaxMur Dec 15, 2024
3a30bd1
flake: Update lock
TheMaxMur Dec 15, 2024
ab65d66
ci/cd: Yaml fmt
TheMaxMur Jan 21, 2025
0236382
docs: Fmt
TheMaxMur Jan 21, 2025
a6d133d
hosts: Fmt
TheMaxMur Jan 21, 2025
347bab5
common: Fmt
TheMaxMur Jan 21, 2025
ee6ca57
common: Fmt
TheMaxMur Jan 21, 2025
031925f
flake: Change ghostty input
TheMaxMur Jan 21, 2025
2376aff
flake: Change lanzaboote input
TheMaxMur Jan 21, 2025
9ca44bd
flake: Fmt
TheMaxMur Jan 21, 2025
e687227
system/machine/p8box: Init
TheMaxMur Jan 21, 2025
1683e7d
parts: Fmt
TheMaxMur Jan 21, 2025
3f245f7
home/modules: Add chromium configuration
TheMaxMur Jan 21, 2025
f406ab4
home/modules: Add librewolf configuration
TheMaxMur Jan 21, 2025
0a91d26
home/modules: Sway fmt
TheMaxMur Jan 21, 2025
cc88989
home/modules: Sway outputs fmt
TheMaxMur Jan 21, 2025
f368420
home/modules: Sway add p8box outputs
TheMaxMur Jan 21, 2025
855f06b
home/modules: Sway fmt
TheMaxMur Jan 21, 2025
3d77293
home/modules: Waybar fmt
TheMaxMur Jan 21, 2025
ad98aad
home/modules: Waybar change wofi to defaults value
TheMaxMur Jan 21, 2025
020ab5f
home/modules: Waybar css fmt
TheMaxMur Jan 21, 2025
177b632
home/users/maxmur: Packages module fmt
TheMaxMur Jan 21, 2025
7d67961
home/users/maxmur: Remove gpick from packages
TheMaxMur Jan 21, 2025
698e164
home/users/maxmur: Fmt
TheMaxMur Jan 21, 2025
01b8339
home/users/maxmur: Disable fuzzel/wofi. Enable rofi.
TheMaxMur Jan 21, 2025
a1cb723
home/users/maxmur: Fmt
TheMaxMur Jan 21, 2025
72cf336
home: Constructor fmt
TheMaxMur Jan 21, 2025
62c8a43
modules: Defaults fmt
TheMaxMur Jan 21, 2025
c4ce5bb
modules: Defaults add rofi-wayland and change default
TheMaxMur Jan 21, 2025
d3cb556
modules: Defaults add chromium
TheMaxMur Jan 21, 2025
7f15c7d
modules: Defaults change cmd choosing for browsers and appLaucnhers
TheMaxMur Jan 21, 2025
f290fe6
modules: Nix fmt
TheMaxMur Jan 21, 2025
7a36263
modules: Fluffychat change version
TheMaxMur Jan 21, 2025
00bc414
modules: Stylix add useCursor option
TheMaxMur Jan 21, 2025
204c0eb
system/machine/hlbox: Add zpool1 & zpool2
TheMaxMur Jan 21, 2025
9aeec41
system/machine/hlbox: Fmt
TheMaxMur Jan 21, 2025
b2ef58c
system/nixos/modules: Add ipAddress option for proxmox-ve
TheMaxMur Jan 21, 2025
3d31fd3
system/machine/hlbox: Set ipAddress for proxmox-ve
TheMaxMur Jan 21, 2025
bfb967f
system/machine/nbox: Fix overlays path
TheMaxMur Jan 21, 2025
8070680
system/machine/nbox: Remove dns servers
TheMaxMur Jan 21, 2025
2d3ed8e
system/machine/rasp: Add ssh pubkey settings
TheMaxMur Jan 21, 2025
8afcc5a
system/machine/rasp: Fmt
TheMaxMur Jan 21, 2025
7bf9790
system/machine/rasp: Add defaults network and ssh settings
TheMaxMur Jan 21, 2025
24a1808
system/nixos/modules: Greetd change way to choosing wm cmd
TheMaxMur Jan 21, 2025
0819d26
system/nixos/modules: Tlp change policy on bat to balanced
TheMaxMur Jan 21, 2025
6c447cf
common: Add func allDir
TheMaxMur Jan 21, 2025
a239a6e
system: Constructor fmt
TheMaxMur Jan 21, 2025
1e3b0bb
lib: Fmt
TheMaxMur Jan 21, 2025
821019a
README: Format. Add description. Add p8box. Add thanks
TheMaxMur Jan 21, 2025
0334ea2
flake: Update lock
TheMaxMur Jan 21, 2025
5fe6f53
system/nixos/modules: Fix statix check in network module
TheMaxMur Jan 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 1 addition & 9 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,21 @@
name: "Check configuration"

on:
push:
pull_request:

jobs:
check:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install Nix
uses: cachix/install-nix-action@v24
with:
extra_nix_config: |
experimental-features = nix-command flakes

experimental-features = nix-command flakes
- name: Run statix check
run: nix run 'nixpkgs/nixos-unstable#statix' -- check .

- name: Run deadnix check
run: nix run 'nixpkgs/nixos-unstable#deadnix' -- .

- name: Run flake check
uses: DeterminateSystems/flake-checker-action@v5

81 changes: 42 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,46 +15,46 @@
- [Features](#-features)
- [File structure](#-file-structure)
- [Desktop preview](#%EF%B8%8F-desktop-preview)
- [Hyprland](#-hyprland)
- [Sway](#-sway)
- [Hyprland](#-hyprland)
- [Sway](#-sway)
- [Software](#-software)
- [Network topology](#-network-topology)
- [Hosts description](#%EF%B8%8F-hosts-description)
- [Keyboard](#%EF%B8%8F-keyboard)
- [Special thanks](#%EF%B8%8F-special-thanks)
- [Star history](#-star-history)

## ✨ Features
## ✨ Features

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

## 📁 File structure

- [❄️ flake.nix](flake.nix) configuration entry point
- [🏡 home](home/default.nix) entry point for creating a home manager user
- [🧩 modules](home/modules/) home manager modules
- [♻️ overlays](home/overlays) home manager overlays
- [👤 users](home/users) users configurations for home manager
- [🧩 modules](home/users/maxmur/modules/) home manager user modules
- [🧩 modules](home/modules/) home manager modules
- [♻️ overlays](home/overlays) home manager overlays
- [👤 users](home/users) users configurations for home manager
- [🧩 modules](home/users/maxmur/modules/) home manager user modules
- [📃 lib](lib/default.nix) helper functions for creating configurations
- [🧩 modules](modules/default.nix) common modules for nixos/nixDarwin/home-manager
- [♻️ overlays](overlays/) common overlays
- [❄️parts](parts/) flake parts modules
- [💀pkgs](pkgs/) self-sealed packages
- [🖥️ system](system/default.nix) entry point for creating a machine
- [🏎️ machine](system/machine) machines configurations
- [🚀 hostname](system/machine/pcbox/) starting the configuration of a specific machine
- [🧩 modules](system/machine/pcbox/modules) machine modules
- [💾 hardware](system/machine/pcbox/modules/hardware) machine hardware modules
- [🧩 modules](system/modules) common modules for machines
- [♻️ overlays](system/overlays) common overlays for machines
- [🏎️ machine](system/machine) machines configurations
- [🚀 hostname](system/machine/pcbox/) starting the configuration of a specific machine
- [🧩 modules](system/machine/pcbox/modules) machine modules
- [💾 hardware](system/machine/pcbox/modules/hardware) machine hardware modules
- [🧩 nixos](system/nixos) nixos modules/overlays/etc
- [🧩 darwin](system/darwin) nixos modules/overlays/etc
- [📄 templates](templates/default.nix) templates for creating configuration parts

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

## 📘 Software

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

## 👀 Network topology

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

## 🖥️ Hosts description

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

## ⌨️ Keyboard

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.
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.

- WS Heavy Tactile switches
- Blank white PBT Cherry keycaps
- KBDFANS switch pads
- Tape mod
- O-rings
- Jincomso wrist rest
- Jincomso wrist rest

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

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

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

[Corgiek](https://github.com/Corgiek)

## ⭐ Star History

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

7 changes: 7 additions & 0 deletions docs/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
perSystem =
{ self', pkgs, ... }:
{
packages.mydocs = pkgs.callPackage ./docs.nix { self = self'; };
};
}
45 changes: 45 additions & 0 deletions docs/docs.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
{ pkgs
, ...
}:

let
inherit (pkgs) stdenv mkdocs python310Packages;
options-doc = pkgs.callPackage ./options-doc.nix {};
in stdenv.mkDerivation {
src = ./.;
name = "docs";

buildInput = [ options-doc ];

nativeBuildInputs = [
mkdocs
python310Packages.mkdocs-material
python310Packages.pygments
];

buildPhase = ''
ln -s ${options-doc} "./docs/nixos-options.md"
mkdocs build
'';

installPhase = ''
mv site $out
'';
}
*/

{
writeShellScriptBin,
pkgs,
self,
...
}:

let
options-doc = pkgs.callPackage ./options-doc.nix { inherit self; };
in
writeShellScriptBin "gen-options-doc" ''
echo "Generating NixOS module options documentation"
cat ${options-doc} > OPTIONS.md
''
29 changes: 29 additions & 0 deletions docs/options-doc.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
lib,
self,
pkgs,
runCommand,
nixosOptionsDoc,
}:

let
eval = lib.evalModules {
specialArgs = { inherit self pkgs; };

modules = [
(lib.nixosSystem {
inherit (pkgs) system;
modules = [
../modules/default.nix
];
})
];
};

optionsDoc = nixosOptionsDoc {
inherit (eval) options;
};
in
runCommand "options-doc.md" { } ''
cat ${optionsDoc.optionsCommonMark} >> $out
''
Loading
Loading