2 Commits

4 changed files with 43 additions and 54 deletions

View File

@@ -1,31 +1,23 @@
# 0x29a nixos config
personal nixos configuration files
## how to deploy the config
```bash
$ sudo nixos-rebuild switch --flake path:/home/aaron/git/nixconfig#default
```
## how to upgrade the system
```bash
$ sudo nixos-rebuild switch --flake --upgrade path:/home/aaron/git/nixconfig#default
```
My personal nixos configuration files.
## basic system installation
1. the partitioning layout will look like this.
- The installations 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
```bash
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 233.8G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 233.3G 0 part
└─root 254:0 0 233.3G 0 crypt
├─vg-swap 254:1 0 8G 0 lvm [SWAP]
└─vg-root 254:2 0 225.3G 0 lvm /
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 2G 0 part /boot
└─nvme0n1p2 259:2 0 474.9G 0 part
└─cryptroot 254:0 0 474.9G 0 crypt
├─lvmroot-swap 254:1 0 20G 0 lvm [SWAP]
├─lvmroot-home 254:2 0 250G 0 lvm /home
└─lvmroot-root 254:3 0 204.9G 0 lvm /nix/store
```
2. prepare the installation
@@ -105,17 +97,18 @@ cd /mnt
sudo nixos-install
```
## how to install updates
## how to deploy the config
```bash
# update flakes
nix flake update
$ sudo nixos-rebuild switch --flake .#host_name
```
# rebuild system
sudo nixos-rebuild switch --flake ~/git/nixconfig#default
## how to upgrade the system
# update home-manager files
home-manager switch --flake ~/git/nixconfig#aaron
```bash
$ cd /path/to/repo
$ sudo nix flake update
$ sudo nixos-rebuild switch --flake .#host_name
```
## author

View File

@@ -1,41 +1,35 @@
{
description = "0x29a NixOS flake config";
description = "0x29a ecosystem NixOS flake";
inputs = {
# the main nix package collection
nixpkgs = {
url = "github:nixos/nixpkgs/nixos-unstable";
};
# home manager for dotfiles
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# noctalia shell
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs@{ self, nixpkgs, home-manager, ... }:
let
lib = nixpkgs.lib;
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
outputs = inputs@{self, nixpkgs, home-manager, ... }: let
lib = nixpkgs.lib;
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
nixosConfigurations = {
# default config
default = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
specialArgs = {
inherit inputs;
};
};
modules = [
# import host specific configs
./hosts/default/configuration.nix
@@ -47,9 +41,9 @@
# laptop neon
neon = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
specialArgs = {
inherit inputs;
};
};
modules = [
# import host specific configs
./hosts/neon/configuration.nix
@@ -57,9 +51,16 @@
./hosts/neon/hardware-configuration.nix
# import noctalia shell configs
./hosts/neon/noctalia.nix
# Add home-manager form my user as a module
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.aaron = import ./hosts/neon/home.nix;
home-manager.extraSpecialArgs = { inherit inputs; };
}
];
};
};
};
}

View File

@@ -1,12 +1,9 @@
# 0x29a nixos conifg
{ pkgs, lib, inputs, ... }:
{
imports =
[
./hardware-configuration.nix
inputs.home-manager.nixosModules.home-manager
];
# use flakes
@@ -149,9 +146,6 @@
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup";
# Add the user's home-manager configuration
home-manager.users.aaron = import ./home.nix;
# install state version
system.stateVersion = "25.11"; # Don't change
}

View File

@@ -8,7 +8,6 @@
# user packages
home.packages = with pkgs; [
discord
#teamspeak3 # unmaintained qtwebkit
fastfetch
screenfetch
zip
@@ -44,6 +43,7 @@
usbutils
powerline-fonts
powerline-symbols
nerd-fonts.sauce-code-pro
];
# configure git
@@ -52,7 +52,7 @@
userName = "aaron";
userEmail = "aaron@0x29a.ch";
};
# configure zsh theme
programs.zsh = {
enable = true;
@@ -61,6 +61,7 @@
oh-my-zsh = {
enable = true;
theme = "agnoster";
#plugins = [ "git" "ssh-agent" ];
};
};
@@ -74,7 +75,7 @@
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
};
# set qt theme
qt = {
enable = true;