Abbreviations
kgrs `kubectl get replicaset`
kdelrs `kubectl delete replicaset <replicaset-name>`
kaf `kubectl apply -f `
kdelf `kubectl delete -f`
kgp `kubectl get pods`
kgpn `kubectl get pods -n`
kgpa `kubectl get pods -A`
kgalabel `kubectl get all -l app=app01`
kga `kubectl get all`
Flakes¶
flake.nix¶
/etc/nixos/flake.nix
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{ nixpkgs, home-manager, ... }: {
nixosConfigurations = {
vm = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/vm/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.mathod = ./home.nix;
}
];
};
workstation = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/workstation/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.mathod = ./home.nix;
}
];
};
};
};
}
vim.nix
{ pkgs, ... }:
{
programs.vim = {
enable = true;
defaultEditor = true;
package = pkgs.vim;
settings = {
number = true;
tabstop = 2;
expandtab = true;
};
};
}
{ ... }:
{
programs.zellij = {
enable = true;
enableZshIntegration = true; # autostart zellij à l'ouverture de zsh
attachExistingSession = true; # se rattache à la session existante si elle existe
exitShellOnExit = true; # ferme le shell quand zellij quitte
};
}
2. Créer le flake¶
/etc/nixos/flake.nix
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{ nixpkgs, home-manager, ... }: {
nixosConfigurations = {
nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.mathod = ./home.nix;
}
];
};
};
};
}
3. Restaurer configuration.nix¶
4. Créer home.nix¶
{ config, pkgs, ... }:
{
home.username = "mathod";
home.homeDirectory = "/home/mathod";
home.stateVersion = "25.11";
programs.home-manager.enable = true;
programs.vim = {
enable = true;
settings = {
expandtab = true;
tabstop = 2;
number = true;
};
};
programs.zsh = {
enable = true;
};
}
5. Appliquer¶
Home-manager est installé. Ensuite tu ajoutes tes packages et programmes dans home.nix.