2025-11-25 10:20:03 +01:00
2025-08-09 17:41:55 +02:00
2025-11-25 10:20:03 +01:00
2025-11-25 10:11:11 +01:00
2025-11-25 10:11:11 +01:00
2025-08-11 17:15:37 +02:00
2025-11-25 10:11:11 +01:00
2025-11-25 10:11:11 +01:00
2025-11-20 11:06:28 +01:00
2025-11-07 12:08:23 +01:00

TheaninovOS

A NixOS based OS you can configure.

Rebuild the configuration

home-manager switch --flake ~/.config/home-manager

Make sure new files are added to git

Initial Setup on a new machine

Enable flakes

configuration.nix

nix.settings.experimental-features = [ "nix-command" "flakes" ];
sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos
sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs

git clone git@github.com:Theaninova/home-manager-config.git ~/.config/home-manager
cd ~/.config/home-manager
sudo nixos-rebuild switch --flake .#MONSTER

After that reload the shell

Updating the system

# in your config folder
nix flake update
sudo nixos-rebuild switch --flake .#

Cleaning your system

Cachix is down

By default nix will just crash if cachix is down even if you don't have to fetch anything from it. Use --option build-use-substitutes false to temporarily disable it.

sudo nixos-rebuild switch --option build-use-substitutes false --flake .#

Find (accidental) folders holding your gc back

sudo nix-store --gc --print-roots | grep /home

Remove old generations

sudo nix-collect-garbage -d

Cleanup store

nix-store --gc

Usage in your NixOS config

flake.nix

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    theaninovos = {
      url = "github:Theaninova/TheaninovOS";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs =
    { nixpkgs, theaninovos, ... }@inputs:
    let
      inherit (nixpkgs.lib) genAttrs listToAttrs;
      eachSystem = genAttrs [ "x86_64-linux" ];
      legacyPackages = eachSystem (system:
        import nixpkgs {
          inherit system;
          config = {
            allowUnfree = true;
            allowUnsupportedSystem = true;
            experimental-features = "nix-command flakes";
          };
        });

      mkHost = { hostname, username, system }:
        nixpkgs.lib.nixosSystem {
          pkgs = legacyPackages.${system};
          modules = [
            theaninovos.nixosModules.theaninovos
            # ... your stuff
          ];
          specialArgs = inputs;
        };
    in {
      nixosConfigurations.MONSTER = mkHost {
        hostname = "MONSTER";
        username = "theaninova";
        system = "x86_64-linux";
      };
    };
}
Description
Stuff to make your NixOS based system
Readme 85 MiB
Languages
Nix 88.4%
Vim Script 5.9%
CSS 5.7%