15 Commits

Author SHA1 Message Date
90df3e5ed9 feature(bootloader): add terminus-font to the bootloader dependencies 2026-01-10 23:51:29 +01:00
22df1df1d7 feature(terminal-font): add terminus terminal font for eye candy 2026-01-10 23:47:01 +01:00
f5d629d5f5 chore(bootloader): lets just not look at those acpi errors during boot 2026-01-10 23:46:12 +01:00
2cb495848f feature(fwupd): install and enable fwupd for firmware upgrades 2026-01-09 21:12:55 +01:00
54dc51eec4 chore(update): upgrade flake 2026-01-09 07:44:13 +01:00
3c3dd262ae Merge pull request 'feature(steam): add proton-ge compatibility layer to steam' (#5) from feature/proton-ge into main
Reviewed-on: #5
2026-01-04 12:04:53 +00:00
cd683bfa94 feature(steam): add proton-ge compatibility layer to steam 2026-01-04 13:02:44 +01:00
10a4b462b3 Merge pull request 'optimize build time' (#4) from feature/optimize into main
Reviewed-on: #4
2025-12-31 10:20:21 +00:00
5111de5278 refactor(settings): remove redundant options 2025-12-31 11:17:31 +01:00
3a6b6091d6 feature(settings): add cache, use more cores, auto optimize the nix store 2025-12-31 11:09:09 +01:00
382cb2b096 refactor(flake): remove home-manager options from flake, since they are already defined in settings 2025-12-31 11:08:26 +01:00
05245ea56b refactor(niri): rename the module to niri.nix for clarity 2025-12-31 11:07:37 +01:00
3ee5cfac97 Merge pull request 'feature(modules): split configuration into nix modules and home-manager modules' (#2) from feature/modularize into main
Reviewed-on: #2
2025-12-30 17:51:29 +00:00
2e1c2524fc refactor(readme): update the readme with a nix-helper section. 2025-12-30 18:50:30 +01:00
b87d881258 feature(flake): update flake file and update all packages 2025-12-30 18:49:25 +01:00
10 changed files with 74 additions and 23 deletions

View File

@@ -1,10 +1,10 @@
# 0x29a nixos config
My personal nixos configuration files.
My personal nixos configuration files for different environments.
## basic system installation
- The installations in this repository are always luks encrypted
- The installations presented in this repository are always luks encrypted
- For simplicity I'm using device labels rather than uuids
1. the partitioning layout should look somewhat like this after the installation
@@ -111,8 +111,24 @@ $ sudo nixos-rebuild --install-bootloader switch --flake .#host_name
$ cd /path/to/repo
$ sudo nix flake update
$ sudo nixos-rebuild switch --flake .#host_name
$ sudo nix-collect-garbage
```
## how to use nix-helper
The tool nix-helper is installed by this configuration. It simplifies administrating nixos and adds more output to the rebuild command. It also features a diff after a successful build. The command uses the `NH_FLAKE` environment variable to be able to run from whatever directory.
Basic commands with a set `NH_FLAKE` variable are:
```bash
$ nh os switch
$ nh os build
$ nh os test
$ nh clean all --keep 5
```
There is also the option to interface with home-manager by using `nh home switch`but this isn't necessary since home-manager is imported as a module in this config.
## author
aaron <aaron@0x29a.ch>

24
flake.lock generated
View File

@@ -28,11 +28,11 @@
]
},
"locked": {
"lastModified": 1766282146,
"narHash": "sha256-0V/nKU93KdYGi+5LB/MVo355obBJw/2z9b2xS3bPJxY=",
"lastModified": 1767907949,
"narHash": "sha256-ihO/8Dx1sz0XbXSg0bHp8+9sEB3G/StAzyrB6GPqDd4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "61fcc9de76b88e55578eb5d79fc80f2b236df707",
"rev": "b1b1c68033840553f47f49e994b27a7d5dafa5e1",
"type": "github"
},
"original": {
@@ -43,11 +43,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1766070988,
"narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=",
"lastModified": 1767767207,
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c6245e83d836d0433170a16eb185cefe0572f8b8",
"rev": "5912c1772a44e31bf1c63c0390b90501e5026886",
"type": "github"
},
"original": {
@@ -66,11 +66,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1766273987,
"narHash": "sha256-Y8hL2zGyt7xn5J1V806GJ9tMEk6NgVlU7xe4dS4fThE=",
"lastModified": 1767906546,
"narHash": "sha256-AoSWS8+P+7hQ/jIdv0wBjgH1MvnerdWBFXO4GV3JoQs=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "ff00fe1512dfcb31b01d770738de9299b434449b",
"rev": "7eb8f36f085b85a2aeff929aff52d0f6aa14e000",
"type": "github"
},
"original": {
@@ -86,11 +86,11 @@
]
},
"locked": {
"lastModified": 1766317205,
"narHash": "sha256-PYlMsenwZCG5TrxQSyTraPw8WQwk4FGnbyFdFMuAeYA=",
"lastModified": 1767907466,
"narHash": "sha256-uUAG4C5VOfqiuIpXELxKaAnoZO30n77oGexuPrlUM74=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "51aa9fe16b0cc0dc4daa7c447843b36923434f2e",
"rev": "9fc7a597eb905b5d83235f71a4269c1d938634c3",
"type": "github"
},
"original": {

View File

@@ -1,5 +1,5 @@
{
description = "0x29a ecosystem NixOS flake";
description = "0x29a NixOS flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
@@ -28,8 +28,6 @@
./hosts/default/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim
@@ -47,8 +45,6 @@
./hosts/neon/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim

View File

@@ -4,10 +4,10 @@
imports = [
../../modules/nixos/audio.nix
../../modules/nixos/bootloader.nix
../../modules/nixos/compositor.nix
../../modules/nixos/gnupg.nix
../../modules/nixos/locales.nix
../../modules/nixos/networking.nix
../../modules/nixos/niri.nix
../../modules/nixos/noctalia.nix
../../modules/nixos/openssh.nix
../../modules/nixos/packages.nix

View File

@@ -17,11 +17,13 @@
};
# kernel options
boot.kernelParams = [ "quiet" "loglevel=2" ];
boot.kernelParams = [ "quiet" "acpi.debug_level=0"];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.consoleLogLevel = 2;
# Add boot-related packages
environment.systemPackages = with pkgs; [
efibootmgr
terminus_font
];
}

View File

@@ -9,6 +9,8 @@
dnsutils
ethtool
file
fwupd
fwupd-efi
ghostty
git
imagemagick
@@ -31,8 +33,10 @@
pciutils
sddm-astronaut
socat
sof-firmware
strace
sysstat
terminus_font
tree
unzip
usbutils

View File

@@ -5,5 +5,6 @@
services = {
tuned.enable = true;
upower.enable = true;
fwupd.enable = true;
};
}

View File

@@ -1,8 +1,36 @@
{ config, lib, pkgs, ... }:
{
# use flakes and nix command
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix = {
# nix settings
settings = {
# enable flakes and nix-command
experimental-features = [ "nix-command" "flakes" ];
# auto-optimize my nix-store
auto-optimise-store = true;
# use all cores
max-jobs = "auto";
# use all available cores per job
cores = 0;
# add trusted substituters (binary caches)
substituters = [
"https://cache.nixos.org"
"https://nix-community.cachix.org"
];
# add keys
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
# enable automatic garbage collection
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
# links /libexec from derivations to /run/current-system/sw
environment.pathsToLink = [ "/libexec" ];

View File

@@ -10,6 +10,10 @@
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
# add proton-glorious-eggroll
extraCompatPackages = with pkgs; [
proton-ge-bin
];
};
# fix black screen in steam when using xwayland-satellite