Skip to content

clifinger/nixos-config

Repository files navigation

NixOS Configuration

Personal NixOS config with MangoWC compositor, Starship prompt, and home-manager.

Features

  • Compositor: MangoWC (Wayland)
  • Shell: Zsh + Starship (Rust, fast)
  • Terminal: Kitty
  • Editor: Neovim
  • Hardware: ThinkPad E16 Gen 1 (AMD)

Install This Config

Prerequisites: NixOS already installed with flakes enabled.

# Backup your current config
sudo mv /etc/nixos /etc/nixos.backup

# Clone this repo
sudo git clone https://github.com/clifinger/nixos-config.git /etc/nixos
cd /etc/nixos

# Generate your hardware config
sudo nixos-generate-config --show-hardware-config > hardware-configuration.nix

# Review and adjust home-manager/julien/default.nix if needed

# Apply the configuration
sudo nixos-rebuild switch --flake .#nixos

# Set your password
passwd

# Reboot
reboot

Daily Usage

Rebuild After Changes

rebuild  # alias for: sudo nixos-rebuild switch --flake .#nixos

Update Dependencies

cd /etc/nixos
nix flake update
rebuild

Add a Package

System-wide:

# Edit configuration.nix
environment.systemPackages = with pkgs; [
  your-package
];

User-only:

# Edit home-manager/julien/default.nix
home.packages = with pkgs; [
  your-package
];

Then rebuild.

Structure

.
├── flake.nix                  # Entry point
├── configuration.nix          # System config
├── hardware-configuration.nix # Auto-generated
│
├── system/                    # System modules
│   ├── boot.nix
│   ├── audio.nix
│   └── ...
│
├── home-manager/              # Home-manager config
│   ├── julien/               # User config
│   └── programs/             # All programs (zsh, kitty, mango, etc)
│
└── utils/                     # Manual scripts
    └── bitwarden-keys/

Simple and flat. System in system/, user in home-manager/.

Customize

Programs

Edit files in home-manager/programs/ then rebuild.

User Packages

Edit home-manager/julien/default.nix then rebuild.

System Settings

Edit configuration.nix or files in system/ then rebuild.

Troubleshooting

Check for errors:

nix flake check

Rollback:

sudo nixos-rebuild switch --rollback

List generations:

sudo nix-env --list-generations --profile /nix/var/nix/profiles/system

Clean old generations:

sudo nix-collect-garbage --delete-older-than 7d

Configure Screens (Kanshi)

If you have different screens, adapt the Kanshi configuration in home-manager/programs/kanshi.nix.

Get screen info:

wlr-randr

Copy the output info (criteria, mode, position, scale) into your Kanshi profiles. Example:

{
  profile.name = "your-setup";
  profile.outputs = [
    {
      criteria = "Your Monitor Brand Model Serial";
      scale = 1.0;
      mode = "[email protected]";
      position = "0,0";
      status = "enable";
    }
  ];
}

Then rebuild.

Notes

  • Auto-login enabled (getty)
  • Sudo without password for wheel group
  • Docker disabled by default (use don/doff commands)
  • Xanmod kernel for better performance

NixOS: 26.05 Unstable
State Version: 25.11

About

Configuration NixOS personnelle avec Wayland, Flakes et scripts de gestion des clés

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published