1
0
mirror of https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles.git synced 2025-09-15 09:45:58 +03:00

containerization & virtualization update

Checklog:
 - Switched from `Docker` to `Podman`
 - Added `podman-tui` and `podman-compose` to packages
 - Added rootless nix code snippet for `Docker`
 - Added `distrobox` and `qemu` to packages
 - Added `tgpt` to packages
This commit is contained in:
xnm
2023-11-25 20:24:23 +02:00
parent c69e5c8be3
commit 83316f40f7
2 changed files with 31 additions and 3 deletions

View File

@@ -38,6 +38,8 @@ This system leverages cutting-edge channels and versions of software to provide
This approach ensures that you stay on the forefront of technology, receiving the most recent software advancements promptly. 🚨However, it's important to note that this emphasis on bleeding-edge software may impact the stability of the system. This approach ensures that you stay on the forefront of technology, receiving the most recent software advancements promptly. 🚨However, it's important to note that this emphasis on bleeding-edge software may impact the stability of the system.
🚨Please note that the system utilizes **Podman** instead of **Docker** for containerization due to various reasons, primarily related to security (rootless and daemonless containers), easier migration to Kubernetes, availability of pods, compatibility with systemd, and better security for `distrobox`. If you prefer to use **Docker** instead of **Podman**, you can make the switch by commenting out the **Podman** section in the `configuration.nix` file and uncommenting the **Docker** section. More details on **Docker** configuration in NixOS can be found [here](https://nixos.wiki/wiki/Docker).
You have the flexibility to customize these configurations according to your needs by modifying the respective configuration files. You have the flexibility to customize these configurations according to your needs by modifying the respective configuration files.
## 🌟 Showcase ## 🌟 Showcase
@@ -85,6 +87,7 @@ The showcased images do not reflect the latest version of the system's appearanc
| Wallpaper | Wpaperd | | Wallpaper | Wpaperd |
| Graphical Boot | Plymouth + Catppuccin-plymouth | | Graphical Boot | Plymouth + Catppuccin-plymouth |
| Display Manager | Greetd + Tuigreet | | Display Manager | Greetd + Tuigreet |
| Containerization | Podman |
And many other useful utilities. The full list can be found in the system configuration at `/nixos/configuration.nix` file. And many other useful utilities. The full list can be found in the system configuration at `/nixos/configuration.nix` file.
@@ -207,6 +210,7 @@ Here are some tips to enhance your Rust experience on this system:
- `cargo-spellcheck` - `cargo-spellcheck`
- `cargo-modules` - `cargo-modules`
- `cargo-bloat` - `cargo-bloat`
- `cargo-unused-features`
- `bacon` - `bacon`
5. **Environment Setup:** 5. **Environment Setup:**

View File

@@ -391,8 +391,26 @@
# Enable CUPS to print documents. # Enable CUPS to print documents.
# services.printing.enable = true; # services.printing.enable = true;
# Enable docker # Enable container manager
virtualisation.docker.enable = true; # Enable Docker
# virtualisation.docker.enable = true;
# virtualisation.docker.rootless = {
# enable = true;
# setSocketVariable = true;
# };
# users.extraGroups.docker.members = [ "xnm" ];
# Enable Podman
virtualisation = {
podman = {
enable = true;
# Create a `docker` alias for podman, to use it as a drop-in replacement
dockerCompat = true;
# Required for containers under podman-compose to be able to talk to each other.
defaultNetwork.settings.dns_enabled = true;
};
};
# Enable sound with pipewire. # Enable sound with pipewire.
sound.enable = true; sound.enable = true;
@@ -416,7 +434,7 @@
users.users.xnm = { users.users.xnm = {
isNormalUser = true; isNormalUser = true;
description = "xnm"; description = "xnm";
extraGroups = [ "networkmanager" "input" "wheel" "video" "audio" "docker" "tss" ]; extraGroups = [ "networkmanager" "input" "wheel" "video" "audio" "tss" ];
shell = pkgs.fish; shell = pkgs.fish;
packages = with pkgs; [ packages = with pkgs; [
spotify spotify
@@ -512,6 +530,9 @@
git-ignore git-ignore
just just
xh xh
tgpt
distrobox
qemu
wezterm wezterm
cool-retro-term cool-retro-term
# mcfly # terminal history # mcfly # terminal history
@@ -552,6 +573,9 @@
felix-fm felix-fm
chafa chafa
podman-compose
podman-tui
lazydocker lazydocker
lazygit lazygit
neofetch neofetch